Jachin's Blog

How-to Make a Poor Man's Soundboard

Published:
Modified:

How to Setup a Soundboard

This article will show you how to map a set of sound effects (I'll show you how to do 10) to keyboard shortcuts that will be ready any time you need a rim shot, or sad horns or whatever else.

You need to be running OS X. I've set this up on a 10.10 and 10.11. I do not know how far back into older versions of OS X this will work (or how far forward).

tl;dr We are going to use Automator to make some Services that know how to play 1 sound each and then assign those services keyboard shortcuts. You can download a set of sample sound and the services from the SimpleSoundboardForMac repo on GitHub.

Step 1 - Get Some Sounds

Obviously there is a lot of room here for personalization, but here are some classic choices.

You probably want pretty short sounds because stopping them will be difficult.

You need to save your files in /Users/<your username>/Music/SoundBoard. Like a lot of these instructions you can change this path but you'll need to make sure you change it everywhere it's referenced.

The sound files should all be named using the following pattern. <number>-<description>.<extension>. For instance a sad trombone sound effect could be name like so 1-sad-trombones.mp3.

The numbers should go from 0-9. You can feel free to leave some out. If you want to swap out some sounds just rename the file so the number is gone from the front of the file name, and put the number in the new sound effects file name. Old: sad-trombones.mp3 New: 1-crickets.wav.

The following file extension will work:

  • mp3
  • mp4
  • wav
  • aiff
  • aac

Step 2 - Build the Services

Start up Automator. Make a new "Service" that accepts no input and can run in any Application.

Add a "Run Shell Script" action to it. The script can be /bin/bash and it should be as follows:

find ~/Music/SoundBoard -maxdepth 1 -type f \( -name "1-*mp3" -o -name "1-*wav" -o -name "1-*aiff" -o -name "1-*mp4" -o -name "1-*aac" \) -exec afplay {} >/dev/null 2>&1 \; &
Automator window.

Save the service as Sound Board 1 in /Users/<your username>/Library/Services.

Test it out by going to the services menu and running it.

Step 3 - Setup the Keyboard Shortcuts

Go to "System Preferences..." -> "Keyboard" -> "Shortcuts" (tab) -> "Services" (from the list on the left) then scroll all the way to the bottom and you should find "Sound Board 1". Double click on the faded out "none" and punch in your keyboard shortcut. For sound #1 I recommend using "⌥⇧⌘1". It seems like a shortcut other programs aren't using.

Automator menu.

Try it out, once it's setup hit the keyboard shortcut, you should hear the sound effect.

Keyboard system preference pane.

Step 4 - Repeat

Now that we have it working for '1', we need to set it up for the other 9 number keys.

This requires duplicating Sound Board 1 Service renaming it to Sound Board 2, Sound Board 3, etc and modifying the shell script.

For instance to modify it for the service Sound Board 2 you'd change it to look like this:

find ~/Music/SoundBoard -maxdepth 1 -type f \( -name "2-*mp3" -o -name "2-*wav" -o -name "2-*aiff" -o -name "2-*mp4" -o -name "2-*aac" \) -exec afplay {} >/dev/null 2>&1 \; &

If you just want to download the services all ready made, I've got them all up on GitHub.

The Inspiration

I was in an estimating meeting the other day and we were joking about how it would be cool to have sound effects, to help keep the meeting moving along. A couple of different website sound boards were mentioned, and I'm sure there are a ton out there, but lets be honest, having to keep a website open is lame and a lot of these sound boards are ad filled written in flash and just not very good.

I got to thinking though, wouldn't it be cool to have keyboard shortcuts that would play sounds whenever I needed them. I wouldn't have to have a website or even open an App. They'd just always be there, in the background, ready to go.

I work on Macs, so a menu bar App with keyboard shortcuts would make sense, but that kinda felt like too much effort.

I did some Googling, maybe there was something for free ready to go. There are some "pro" soundboard apps out there, including one made by one of my favorite OS X app developers Ambrosia (so many good memories playing Maelstrom) that's actually called Soundboard. It looks cool, probably for musicians or DJs or whatever, and costs $50. That's great an all, but a ready made solution to this isn't worth $50 (to me) and I didn't read far enough to see if it's something that I can even run in the background.

I've had some successes in the past with AppleScript and Automator, so I thought maybe there was some way to use those, and it turns out, there is. Of course like almost everything I try, it was more work then I thought it would be, but now that I've got it figured out, maybe my solution will save some time for others.

Have fun and don't be too annoying.