Setup & getting started
Something not working? → Troubleshooting & FAQ↑ Click here to minimize this section once setup is complete
1. Install VB-Audio Virtual Cable
A free virtual audio device that lets this page send sound into Discord as if it were a microphone. Download from vb-audio.com/Cable (Windows and Mac both supported). On Windows: run the installer as Administrator, then reboot. On Mac: run the installer normally, then in System Settings → Privacy & Security you'll likely need to allow the new audio driver before it's active, some versions of macOS also ask for a restart afterward. Either way, you'll then have two new devices system-wide: CABLE Input (playback) and CABLE Output (recording).
2. Point your voice chat app at the virtual cable
In Discord: click the Settings cogwheel → Voice & Video → Microphone dropdown → select "Cable Output (VB-Audio Virtual Cable)".
In Zoom: click your profile picture → Settings → Audio tab → Microphone dropdown → select "Cable Output (VB-Audio Virtual Cable)". (From inside an active meeting, you can also get there via the small arrow next to the mic icon → Select a Microphone.)
Using TeamSpeak, Mumble, or something else instead? Same idea: find that app's microphone/input device setting and point it at "Cable Output (VB-Audio Virtual Cable)" too.
3. Mix in your real microphone too
This lets you talk normally and play sounds through the same "microphone," instead of choosing one or the other.
On Windows: Windows key + R → type mmsys.cpl → Enter →
Recording tab → right-click your real microphone → Properties →
Listen tab → check "Listen to this device" → set "Playback through
this device" to "Speakers (VB-Audio Virtual Cable)".
On Mac: macOS doesn't have a built-in "Playback through this device" setting like Windows, but the free LadioCast (Mac App Store) does the same job.
- Install LadioCast from the Mac App Store (free), then open it.
- On the left side (Inputs), set Input 1's dropdown to your real microphone. The first time you do this, macOS will ask for microphone permission, allow it.
- On the right side (Outputs), set Main Output's dropdown to CABLE Input (VB-Audio Virtual Cable).
- Make sure Input 1's routing button for Main is switched on, so your mic actually feeds into that output bus.
- Leave LadioCast running in the background while you use Discord and this page.
You'll still pick CABLE Output (VB-Audio Virtual Cable) as your microphone in Discord/Zoom (step 2 above), same as on Windows, LadioCast just adds your live voice into the same cable this page is already sending sounds through.
Required if you want to still talk in your mic and have people hear you in Discord.
4. Choose your sound folder(s)
5. Audio output devices
Pick whichever device has "VB-Audio Virtual Cable" in its name, it may show as "CABLE Input", "Speakers", or something else depending on your system. This is the opposite end of the cable from what you picked in Discord's mic settings in step 2, so don't expect the exact same name, see the FAQ below if you're not sure which one to pick.
6. Push-to-Talk key
Will only be auto-pressed for you if you download and run the Push-to-Talk script (top right).
7. (Optional) Discord Noise Suppression and Gain Boost settings
Noise Suppression and Gain Boost settings in Discord will auto-adjust the volume of the sounds that get sent through. This can happen on both sides: when you send and when the other person receives the sound. Adjusting the Master Cable Volume will adjust the volume of all sounds being sent, and you can also adjust individual sounds with their own Cable volume slider. But if Suppression and/or Gain settings are enabled, Discord may soften or louden the sounds automatically toward a neutral volume.
Mixer
Quickplay categories
↑ Click here to minimize once your categories and colors are set up
Use categories to group your Quickplay sound buttons for similar sounds, so you can quickly find just the right sound at the right moment. Then use the dropdown next to a sound in the library below to assign it to a category. Drag a category chip to reorder its Quickplay section on the page.
No categories yet. Add one above, then assign sounds to it from the list below.
Colors let you flag Quickplay buttons at a glance without changing their layout. Click the swatch to change a color anytime. Assign a color to a sound from the dropdown next to it in the library below.
No colors yet. Add one above, then assign it to a sound from the list below.
Sound library
Sound names can be edited (this will not affect the file name). Changing the name of a sound will also change the name shown on its Quickplay button above.
Add a folder above to load your sound files.
Troubleshooting & FAQ
Why can't people hear my sounds, even though I pressed my PTT key?
Almost always a device-selection mismatch. Check both sides:
- In Discord: Settings → Voice & Video → Microphone must be set to "Cable Output (VB-Audio Virtual Cable)", not your real microphone.
- On this page: Setup → step 5 → "Send audio to" must be set to whichever device has "VB-Audio Virtual Cable" in its name, not your headphones/speakers.
- Confirm VB-Audio Virtual Cable is actually installed and you rebooted afterward (step 1).
What if my VB-Audio Virtual Cable device isn't labeled "Cable Output" or "Speakers"?
The exact label can vary by system and driver version, it's not always the same across every computer. In Setup → step 5, look for whichever playback device includes "VB-Audio Virtual Cable" in its name, it might show as "CABLE Input", "Speakers", or something else. Use your judgement: as long as "VB-Audio Virtual Cable" appears somewhere in the name, that's the right one to pick. It also won't match the name you selected in Discord's microphone settings back in step 2, since that's the opposite end of the same cable (Discord listens to the cable's "Output" side as its mic, this page sends audio to the cable's "Input" side), so seeing two different names there is expected, not a sign something's wrong.
People can hear my sounds, but they can't hear me talking anymore.
This happens once Discord's microphone is switched to "Cable Output." Discord now only hears whatever comes out of the virtual cable, and your real mic isn't part of that unless you route it there yourself. Follow Setup → step 3, "Mix in your real microphone too": Sound Control Panel → Recording tab → right-click your real mic → Properties → Listen tab → check "Listen to this device" → set "Playback through this device" to "Speakers (VB-Audio Virtual Cable)." This mixes your real voice into the same cable the soundboard uses, so Discord hears both.
My Push-to-Talk key doesn't press automatically when I play a sound.
This requires the separate Push-to-Talk script (top right "⬇ Download Push-to-Talk Script"), since browsers aren't allowed to send key presses to other apps like Discord. Check:
- The script (
python companion.py) is actually running. Its terminal window should say "listening on ws://127.0.0.1:8765" and stay open. - The "PTT Script" status pill at the top of the page shows "connected," not "not running."
- The PTT key field (Setup → step 6) exactly matches Discord's own Push to Talk
keybind, and uses the underscore format (e.g.
ctrl_r), notctrl+r.
Without the script running, sounds still play and route correctly. You'll just need to hold your PTT key yourself while a sound plays.
My sounds come through distorted, or the volume sliders don't seem to do anything.
This is almost always Discord's own Automatic Gain Control and/or Noise Suppression fighting the volume you set. See Setup → step 7. Turn both off in Discord's Voice & Video settings, then re-test your Master Cable Volume and each sound's individual Cable % slider. Those settings actively normalize incoming audio back toward one loudness target, which can make a quieter source sound just as loud (or distorted) as a full-volume one.
The page says "Unsupported browser," but I'm using Chrome.
Do a hard refresh (Ctrl+Shift+R) to make sure you're not looking at a
cached copy of the page, and make sure Chrome or Edge is reasonably up to date. This
tool relies on APIs added in Chrome/Edge 110+.
The device dropdown says "No devices found."
Click "Reveal device names" (Setup → step 5) and allow the microphone permission prompt, since device names stay hidden from the page until you do. If it still shows nothing afterward, try a full page reload. If it's still empty, check that "CABLE Input" isn't disabled in Windows: Sound Control Panel → Playback tab → right-click in the empty space → "Show Disabled Devices."
I added a folder, but no sounds show up in the library.
Supported formats are MP3, WAV, OGG, M4A, AAC, and FLAC. Other formats (like WMA) won't be picked up. Also double-check the folder (or its subfolders) actually contains audio files and not just more empty folders.
I have to re-select my sound folder every time I come back to the page.
This is a browser security limitation, not a bug. Sites aren't allowed to silently keep permanent access to your filesystem. Your categories, sound names, and volume settings are all still remembered (they're stored separately in your browser's local storage); only the folder access itself needs re-confirming, and only occasionally, typically after closing the browser fully, switching profiles, or clearing site data.
Does this only work with Discord?
No. Discord is just the most common destination, so it's what the setup steps walk through. Anything that lets you choose a specific microphone/input device works the same way: Zoom, TeamSpeak, Mumble, Google Meet, Skype, and most other voice chat or calling apps will all pick up sound played through CABLE Output once you select it as their microphone, exactly like step 2 above.
Can I use this in a Zoom meeting?
Yes. Zoom lets you pick a specific microphone the same way Discord does, so the setup is nearly identical: install VB-Cable, then in Zoom go to Settings → Audio → Microphone and select "Cable Output (VB-Audio Virtual Cable)." Step 2 in Setup above walks through the exact menu path.
Can I use this without installing VB-Audio Virtual Cable at all?
Yes. Sounds will still play through your chosen local monitor device so you can hear them yourself. You just won't be able to send them into a Discord call, since that specifically requires a virtual audio device like VB-Cable to bridge browser audio into something Discord can pick up as a "microphone."