A lightweight, cross-platform Discord Rich Presence (RPC) client for T_Music_Bot. This client displays your current music activity from the bot directly on your Discord profile and provides a high-quality OBS visualizer overlay.
- Cross-Platform: Native support for Windows and Linux.
- Lightweight: Minimal CPU and memory usage (~40MB executable).
- Auto-Setup: Easy pairing process via Discord with automatic 6-digit code detection.
- GUI & Tray: Integrated system tray with a clean setup interface and real-time status updates.
- OBS Visualizer Overlay: Amazing-looking 1360x440 audio-responsive overlay with customizable modes (classic, wave, neon, etc.).
Download the latest version for your operating system from the Releases page.
- Run
t-music-bot-rpc.exe. - Follow the GUI instructions to pair with Discord.
- If prompted, click Yes to automatically install the Visualizer component.
- The app will minimize to your system tray.
- Give the binary execution permissions:
chmod +x t-music-bot-rpc-linux. - Run the binary.
- Note: On Linux, the app will automatically background itself. Use the
--foregroundflag if you want to keep it in the terminal. - Note: On some Linux environments, you may need to manually enter your Discord User ID in
settings.jsonif automatic detection fails.
The settings.json file is generated automatically on the first run. Below are the available options and their valid ranges:
| Key | Type | Description |
|---|---|---|
code |
String | The 6-digit pairing code from Discord (/rpc connect). |
userId |
String | Your Discord User ID (Numeric). Auto-detected on most systems. |
| Key | Default | Description |
|---|---|---|
enabled |
false |
Enable/Disable the browser overlay server. |
port |
3000 |
The local port used to access the overlay. |
| Key | Range | Default | Description |
|---|---|---|---|
enabled |
true/false |
false |
Enable audio capture and rendering. |
audioDevice |
String | "" |
Exact name of your audio output (Use --list to find). |
fps |
30 - 240 |
60 |
Target refresh rate for the animation. |
samples |
512 - 16384 |
2048 |
FFT Sample size. Must be a power of 2. |
bars |
1 - 2048 |
64 |
Number of frequency bars to display. |
smoothing |
1 - 20 |
3 |
How much the bars "lag" behind the audio. |
sensitivity |
1 - 100 |
40 |
Responsiveness to quiet sounds. |
multiplier |
1 - 100 |
40 |
Visual height multiplier for the bars. |
colorTop |
Hex | #7cf6ff |
The color at the top of the bars. |
colorBottom |
Hex | #1a69a8 |
The color at the base of the bars. |
mode |
String | "bars" |
See Visualizer Modes below. |
rounded |
true/false |
true |
Enable rounded corners on bars. |
glow |
true/false |
false |
Enable neon outer glow (Performance heavy). |
bars: Standard vertical frequency bars.wave: Smooth animated waveform.particles: Floating dots representing frequencies.neon-bars: Thin, high-contrast neon styling.led: Segmented block-style frequency meter.outline: Hollow bar outlines.center-bars: Bars that grow outwards from the vertical center.
Settings and logs are stored in the same directory as the executable:
settings.json: Stores your pairing code, audio device selection, and overlay preferences.logs.txt: Contains application logs for troubleshooting..lock: A temporary file used to prevent multiple instances from running.
To use the overlay in OBS:
- Add a Browser Source.
- URL:
http://localhost:3000(port can be changed in settings). - Width:
1360 - Height:
440
--list: List all available audio output devices for the visualizer.--quietor-q: Disable most logging to console andlogs.txt.--foreground: (Linux only) Prevent the app from backgrounding itself.--debug-fft: Enable detailed FFT analysis logging.
- Node.js (v18.16.0 or higher recommended)
-
Clone the repository:
git clone https://github.com/TehPig/t-music-bot-rpc.git cd t-music-bot-rpc -
Install dependencies:
npm install
-
Build the binaries:
npm run build # Compiles TypeScript and prepares dist/ folder npm run package # Generates standalone binaries
This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- Attribution: You must give appropriate credit.
- Non-Commercial: You may not use the material for commercial purposes.
- No-Derivatives: If you remix, transform, or build upon the material, you may not distribute the modified material.