Introducing My Ultimate Soundboard
"One off my colleagues has installed the soundboard app. And set it up with a second keyboard. He was playing with it during lunch. He gets a call just after lunch and accidentally presses the nr 3. The user was blasted with a horse neigh and almost fell off her chair."
I am pleased to introduce my latest tool - the ultimate soundboard! I was never able to find exactly what I needed from the available tools, so I made it myself and made the code open source!
What I wanted was:
- I wanted a tool that would make it easy to play specific sounds from a library of hundreds of sounds.
- I wanted the ability to play a random sound from a category, such as a random compliment or hello.
- I wanted to do this without having to bind a series of keybinds or set up a second keyboard, but would like to optionally use a second keyboard.
- I wanted to be able to quickly add and reorganize my sounds without having to update the script itself.
1) AutoHotKey 1.1.33.02+. This is the tool that allows us to create macros and code that run on specific keypresses. There is a lot of power in AutoHotKey beyond just this script, and I would encourage you to play around with it! This script was writtein in AHK 1.1.33.02, so ensure that you have that version or later! As of the time of writing, this should be the DOWNLOAD CURRENT VERSION button on the site.
2) My soundboard repository. The easiest way to get this is visiting the link. clicking the green Code button and choosing Download as Zip. Alternatively, you could clone the project in your code editor with
git clone https://github.com/joshwaiam/soundboard.git
3) VLC Media Player. You may be able to get this working with other media players, but this article uses VLC. Additionally, it's just the best media player, so this is your chance to swap!
4) VoiceMeeter. This is a free tool that allows you to run the soundboard files through your microphone, while also preserving the ability to use your mic! While the tool is free, they operate off of donations, and I would encourage you to donate should you find this helpful!
5) VirtualAudioCable. This is a free virtual sound device created by the same folks who create VoiceMeeter. The virtual sound device is what we will channel your mic input and the sound files through. You get one free virtual cable for free, which is all you need for this article. You can skip this if you already have your own setup.
1) Audials. This is a great software that I used to save YouTube videos as audio files so that I grab the sound samples. I used the paid version of this tool for a $20 license. For simply extracting sounds, you can likely find a free software, but I use Audials for a lot more than just extracting sounds, making the price tag worthwhile for me!
2) Audacity. This is the free tool I used to edit audio files and grab just the sections I need for individual sound samples.
3) MP3Gain. This is the free tool I used to ensure that all of my sound samples are the same volume. When grabbing sound bites from various sound files, the volumes can vary wildly. This tool normalizes them all to a set level!
Setting up VoiceMeeter
VoiceMeeter allows you to route your microphone and virtual audio cable through a single input. Open VoiceMeeter, and then do the following.
1) Click on Menu and ensure both System Tray and Run on Windows Startup are checked.
2) The first hardware input should be set to your headset microphone. Ensure the A circle is unchecked.
There are a few versions of each sound device in the menu - try one and then use your mic and see if the audio picks up in VoiceMeeter. You should see green lines moving up and down in the tool if your audio is being picked up.
3) The second hardware input should be set to the virtual audio cable you installed. By default, it's called CABLE Output (VB-Audio). If you have your own setup or device, you can select that.
4) For hardware out, click on A1 and then choose your primary sound output device.
There are a few versions for each type of device in the menu - try one and then play some sound to see if the audio picks up in VoiceMeeter. You should see green lines moving up and down in the tool if your audio is being picked up.
Update your sound input device
With VoiceMeeter configured, we need to tell your system to use VoiceMeeter as your default input device.
You can skip this if you would prefer to set the input device in an individual app, such as Discord, without affecting your system as a whole.
1) Right-click your volume icon and select Open Sound Settings.
2) Output should be your primary sound device.
3) Input should be the VoiceMeeter Output device.
Update script with your paths
In order for the script to work, you will need to make a couple of changes specific to your setup.
1) Run VLC Media Player.
2) Go to Tools -> Preferences.
3) Click on the Audio tab. Click this tab first or else you won't get a list of sound devices!
4) Under Show settings section at the bottom left of the window, choose All.
5) Under the Audio category on the left, expand Output Modules and select WaveOut.
6) Under the Select Audio Device dropdown box, look for CABLE Output, or whichever sound device you set as Hardware Input 2 in Voicemeeter. You need to copy EXACTLY what it shows in the dropdown box. Write or type down exactly what is in here.
1) In the folder where you saved the soundboard repository, open
user-settings.ahk in a text editor.
2) Search the file for the below line. Replace the portion in double quotes after the equal sign with the device name you wrote down in Step 6.
global vlc_audio_out := ""
3) You may also have to change this line to point to your VLC executable if the path differs.
global vlc_path := "C:\Program Files\VideoLAN\VLC\vlc.exe"
4) Save the script.
Using the script
To start using the script, double-click
SquishySoundboard.ahk in the main folder. Once the script is running, you can press
CapsLock + Spacebar to minimize/maximize the gui, making it quick to swap to/from a game or other window.
Use filter textbox at the top of the window to filter the items in the list. You can either double-click an item in the list, or press
Enter in the textbox to play the sound. Note: Pressing
Enter in the textbox only works if there is one item remaining in the category or individual items list. Pressing
Escape with the window open will stop playing the sound.
Note: By default, Caps Lock will not work while the script is working. You can press
Alt + CapsLock to toggle it on and off.
For more detailed information on commands available in the script, as well as how to add and organize sounds, please refer to the README.md file in the repository for the script.
(Optional) Using a second keyboard
This script now has the ability to map categories to specific keys on a second keyboard, without having those keys pass through to Windows. This means an entire keyboard can be used as a soundboard, without the letters pressed on the second keyboard causing inadvertent effects on your computer!
For detailed instructions on how to set up this optional feature, please refer to the README.md file in the repository for the script.