β—ˆ

Sound to Chat

Your Soundboard for Every Voice Chat

Free, in your browser: play any sound straight into Discord, Zoom, and more.

Companion Script: connecting…
PTT idle
⬇ Download Companion Script

Sound to Chat is a free online soundboard that plays sound effects, memes, clips, and music straight into your voice chat, entirely in your browser, no downloads or installs of the soundboard itself required. Load a folder of MP3, WAV, OGG, M4A, AAC, or FLAC files, route them through VB-Audio Virtual Cable, organize your favorites into a fully custom soundboard of one-click Quickplay buttons and categories, and set independent volume levels for what your call hears versus what you hear locally. Works as a Discord soundboard and Zoom soundboard, the two most common use cases, and just as well with TeamSpeak, Mumble, or any other app that lets you pick a virtual audio device as its microphone. An optional companion script install lets the soundboard press your PTT key for you, and lets you trigger sounds with a global keyboard hotkey even while a game window has focus.

This page does not host sound files. It simply lets you load sounds already on your computer. Looking for clips to add to your library? Sites like Myinstants, Freesound, and Zapsplat offer sound effects and clips you can download, though it's on you to check each site's license terms before using a clip.

Settings

← First time users, run this first Something not working? β†’ Troubleshooting & FAQ

↑ Click here to minimize once you're set up

Sound folder

Subfolders are scanned automatically. You can add more than one folder. You can also just drag audio files straight onto the page at any time to add them individually.
Supported formats are MP3, WAV, OGG, M4A, AAC, and FLAC. Other formats (like WMA) won't be picked up.

Audio output devices

Click "Reveal device names" first, browsers hide real device names until you grant one-time audio permission (on some browsers, like Firefox, this doesn't stay granted across reloads, so you may need to click it again next time). For "Send audio to," 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, see the FAQ below if you're not sure which one to pick. On Linux, there's no VB-Cable, look instead for the virtual sink you created in the Setup Wizard's Step 1 ("Soundboard Cable" if you used the example command there).

Push-to-Talk key

This companion script must be run in a Terminal window and remain running in the background while you use this Soundboard page for your Hotkeys and PTT to work. Installation and running instructions are included inside the zip file.

Back up your settings

Saves your categories, colors, sound labels/volumes, category and color assignments, Quickplay order, Push-to-Talk settings, and everything else in this page's settings as a JSON file you can keep as a backup or move to another computer.
The Sound folder access itself can't be included, browsers don't allow that to be exported, so after restoring you'll still need to re-add your sound folder(s) above. Once re-added, restored labels/volumes/categories reattach automatically to any sound whose folder and file name match; anything that doesn't match yet just sits unused until that folder is re-added, nothing errors out.

Mixer

Master cable volume here, each category's own Vol slider (in its Quickplay section header), and each sound's individual Cable % all multiply together for what's sent down the cable, e.g. Master 100% Γ— Category 50% Γ— Sound 100% plays that sound at half level. Local monitor volume is separate and unaffected by any of that, it only ever depends on this slider and the mute button.

Effects

Toggle any of these on before hitting Play/Quickplay to shape the next sound. Since the board only ever plays one sound at a time, these apply live to whatever's about to play (or is currently playing) rather than being saved per-sound.

100%
8.0 kHz
30%
30%
30%

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.

This row builds and reorders itself from whatever you actually play the most this session, it's not something you assign sounds to. A sound can show up here and still keep its normal category at the same time. Counts reset when the page reloads.

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

β–Ά sends a sound down the cable for others to hear; 🎧 plays it only in your own local monitor, so you can preview a sound without anyone else hearing it.

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: Settings β†’ Audio output devices β†’ "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 (Setup Wizard, 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 Settings β†’ Audio output devices, 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 the Setup Wizard's 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 the Setup Wizard's step 3, "Mix in your real microphone too" (re-run it from Settings if you need it again): 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 companion script (top right "⬇ Download Companion 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 "Companion Script" status pill at the top of the page shows "connected," not "not running."
  • The PTT key field (Settings β†’ Push-to-Talk key) exactly matches Discord's own Push to Talk keybind, and uses the underscore format (e.g. ctrl_r), not ctrl+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 hotkey doesn't play a sound when I'm tabbed into a game.

Global hotkeys (working outside the browser tab) also need the companion script running, the same one used for automatic Push-to-Talk. Check:

  • The companion script is running and the "Companion Script" status pill shows "connected."
  • Each sound's Hotkey field in your sound list has a combo assigned, in the same underscore format as the PTT key (e.g. f9 or ctrl_alt_s).
  • No other running app or game has already claimed that same combo as its own global hotkey; if it has, either app may "win" it depending on load order.

Without the script running, you can still click or tap a sound in this tab to play it, you just won't be able to trigger it from outside the page.

Why did a popup tell me to pick my audio device before it would play a sound?

This shows up if you try to play a sound (via its β–Ά button or a Quickplay button) before completing Settings β†’ Audio output devices. Without a chosen device, the sound would only play through your computer's normal speakers or headphones, the same as any other website playing audio, but never actually reach your voice chat. That can sound like success and make it seem like the tool is working when it isn't, so playback is blocked with this reminder instead until that's done. The 🎧 "play locally" button is unaffected, since that one's meant to play through your regular device anyway.

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. 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" (Settings β†’ Audio output devices) 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 Wizard walks 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 the Setup Wizard's step 2.

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)." The Setup Wizard's step 2 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."

Ready.