How to Setup a Podcast Soundboard

The Problem

“Mixing is WORK.”  When we were first working on the concept for our comedy podcast, Interrupted Tales, the first thing that became clear is that we had very little extra time to devote to the hobby and needed to make the most of it.  We wanted a professional sounding podcast but didn’t want to spend time every week editing in the same sound bumpers and intro themes.  So we worked on a solution.

Or rather, we thought we already had a solution.  We use Zencastr, which is a service that lets us record our podcast remotely.  And out of the box, Zencastr provides a soundboard tool that lets you mix in music or sound bites live into your recording session.  You can use the default sounds or upload your own mp3s to use. It even lets you do trigger the sounds with hotkeys, and automatically fades out the sound when you hit it a second time, which is invaluable for talking over the end of intro music.   So what’s the problem?

Unfortunately, even though Zencastr records a separate track for each participant, the audio from the soundboard gets recorded on the host track.  While that might be ok for some, it caused problems for us:

  1. Post-processing: We do our own post-processing of each track in Audacity.  That includes equalization, normalization, and noise reduction.  Having pre-recorded audio on a vocal track messes this process up.  The highs and lows of a vocal track don’t necessarily match up with the highs and lows of the soundboard audio.  And the soundboard audio has things like the intro theme that was already noise reduced and processed ALREADY – we don’t want to do it again on the hosts track!
  2. Flubs and Edit Points: One of the best tips we received early on in the podcasting process was from Mike Delgaudio, a profession VO artist who provides tips and tricks on his Booth Junkie Youtube channel.  He recommends using a dog trainer “click” button on your vocal track to easily let you identify and edit out flubs or errors in your recording later.  We tried this with a mp3 sound bite equivalent in the default Zencastr soundboard and found that it was still a bit hard to pick out, especially after doing manual post-processing.  But if that click is on a separate track with bumper audio, it is idiotically easy to pick out edit marks.

So, we decided we needed to record a separate track with our soundtrack audio and edit marks.  Easy right?  Not really.  We went through a lot of options before finding something that worked the way we wanted it to.  But first, here were our needs.

The Requirements

  • A Way to Record a Second Track in Zencastr: This is easy but not intuitive to do.  Zencastr knows if you open an additional tab in your browser, and doesn’t separately record a new tab.  However, if you use a second browser (for instance Chrome AND Firefox) it will treat these as separate participants.  Another alternative which we employ is to use Chrome with separate profiles ,  one for the vocal track and the other for the soundboard.  Note: do not try to use Chrome’s incognito function as this has some specific problems with the remote recording Zencastr does).
  • A Utility To Play Sounds: First, we needed a program that would play various sounds on demand. But it needed several features beyond what a lot of cheap programs that come up with a search for “soundboard” do.  First, it needed to have full hotkey support so we could be in a different program (for instance, a browser window) and trigger the sound.  Second, it needed to be able to fade out a sound easily so we could speak over the top of sound bites.  Third, and incredibly important for Windows machines, it needed to output to specific audio output device.  More on this later, but in the end we chose Soundplant which is a cross-platform soundboard utility that costs $50 and meets all of our requirements.
  • A Physical Trigger for the Sounds: Ok, this is not strictly necessary as long as your sound utility allows hotkeys; you just need to remember the keystrokes and hit them at the right time.  But it is cool as hell.  We wanted a live soundboard with easily identifiable buttons that was always at the ready.  So we got a Elgato Stream Deck ($150 on Amazon.com) which allows for completely customizable LED keys.  While it is focused on video/YouTube/Twitch style streamers with capabilities for software like OBX, our use is simpler. We setup our hotkeys to trigger sounds via Soundplant.  Again, this step is not necessary if you are budget minded but it is very easy to use and lets us trigger sounds without needing anything to be remembered or on-screen at the time.

One final need that occurs in Windows (and is really not an issue with the Mac ability to aggregate devices) is the need to route audio properly through different devices.  For this, we found the free Virtual Audio Cable drivers invaluable in letting us manipulate “fake” audio channels to feed to Zencastr.  These drives should be installed before the next steps.

The Solution

Setup Soundplant

Soundplant is pretty straightforward.  You assign a sound (music, a noise, etc) to a key on the keyboard.  You then fiddle with a few options – do you want the sound to loop, or fade, etc, and you can trigger it with a keystroke.  There are three important settings to get right:

  1. Set “Background key input” to true.  This allows you trigger a sound hotkey even when Soundplant is not the foreground window.
  2. Enter Preferences and set “Audio Output > Device” to the virtual audio cable “Cable Input (VB-Audio Virtual Cable)”.  This makes Soundplant act like it is on its own audio channel which can then be recorded later in Zencastr.  Note that this will also likely make it so you won’t normally hear the sound being played in Soundplant, so you might want to wait until you get everything setup correctly to switch the audio device setting.
  3. Enter Preferences and set “Background key input > only trigger sounds” to “Ctrl+Alt+”.  This will narrow the chance that your hotkey will be triggered by accident.

You can have as many or as few sounds as fit on the keyboard.  Here’s an example of ours:

In this case, we’ve got our theme song on trigger on letter “E” when we’re in Soundplant, and Ctrl-Alt-“E” when we’re in a different program.  If we hit that key again, the intro will slowly fade out over 3.5 seconds, just right to talk over.

Setup Stream Deck

Stream Deck is very cool and pretty easy to setup, so suffice it to say that you will only need to use minimal actions to make your Soundboard profile work.  In my case, I only used the “System > Hotkey” action and created a separate key for each sound I wanted triggered.  Here’s an example of the profile for our podcast, and note you can have multiple nested folders of keys:

You can ignore the first row of keys – they get switched out periodically.  The middle row of keys is our intro, bumper and outro hotkeys that follow the rough timeline of the show.  The bottom row has a mute button (which I use in conjunction with a program called Autohotkey to mute my mic temporarily) and a button for the “click” sound that identifies flubs and edit points.

Get that sound for free from Soundcloud here.

To take a specific example, when we hit the button on our Stream Deck titled “Intro”, it sends the Ctrl-Alt-“E” keystroke, which starts our intro theme song playing on the Virtual Audio Cable through Soundplant.  When we hit the button again, it sends the same keystroke, and Soundplant starts fading out the theme song.  Cool, right?

Putting it together in Zencastr

The final step is to join a podcast session on Zencastr with two separate browser profiles and then use the “gear” icon to set up our preferences to record the right audio sources.  Thankfully we only need to do this once, as Zencastr remembers our settings on a per profile basis.

Our vocal goes in Browser 1.  We join the session as “Participant One” and set the Input to our real mic name – I’m using a AT2020 USB mic, so we choose that.  The Output is set to our default output which in my case is my speakers (note that I plug headphones into my speakers so that it doesn’t bleed into my mic).  Picture below:

Now, for our second browser.  We use a separate browser profile (again, details here) and sign in as “Soundboard”.  We then set the Input to “Cable Output (VB-Audio Virtual Cable)”.  This is the output end of the channel coming from Soundplant.  We then set the Output in Zencastr to a dead-end source that we don’t listen to.  In my case this is “Realtek Digital Output” but you may need to play around on your end.

Why don’t we set this to the default output like we did on the first browser?  Well it’s a little complicated to think about, but our soundboard is it’s own participant in the session; Zencastr doesn’t know it’s just a dumb input.  So Zencastr is sending ALL the audio that’s coming into the session back, minus the soundboard’s input because we’ve got monitoring off.  Therefore, we will hear audio from all the other participants doubled up because that’s what the “participant one” would hear PLUS what the “virtual” soundboard user would hear.  We don’t want to hear what the “virtual” soundboard user hears at all… and we will already hear their input on the first browser window.  If that’s too much information, just remember the main point: make sure Zencastr sends the audio output for the soundboard’s browser to an audio output you’re definitely NOT listening to.

Example browser 2 settings below:

And that’s about it.  If everything is set up right, you’ll hear audio from the soundboard play in your speakers (or whatever output you set up for browser 1) when you trigger the right button on your Stream Deck.  It will be recorded in a separate track in Zencastr (and named nicely as Soundboard when you download that track).  You’ll easily be able to pick out audio breaks and edit markers, which should hopefully make editing a snap.

Not sure how to go about remote recording a podcast?  Check out our first blog post on the subject.

Want to check out the final results? Listen to our podcast on iTunes or Google Play.

 

Leave a Reply

Your email address will not be published. Required fields are marked *