Better audio quality on your videocalls
I’ve been experimenting with different methods for improving the audio quality of my videocalls, both for meetings and for recorded conversations like podcasts. So I have a few suggestions to make your next call sound less like a laptop, more like a studio.
I’ll start with some microphone basics. Then, I’ll show you Zencastr, a tool for recording audio without losing any quality due to the compression of sending realtime audio over the internet. Finally I’ll show you how to use OBS to apply audio processing in realtime to remove background noise and change the dynamic range.
1. Get a mic
Option A: cheap earbuds headset
You can spend a couple of dollars on the cheapest headset (earbuds with a little mic attached) and generally do a lot better than your laptop’s built-in mic. Two reasons:
- The first rule of vocal microphones: the closer the mic, the better the sound. Having that little headset microphone dangling a few inches from your mouth will give you a much better signal to noise ratio than a laptop microphone at arms length. (Just take care that it doesn’t rustle against your clothing.)
- Using headphones eliminates feedback from the speakers (sound output) interfering with the microphone (sound input).
Option B: USB mic
The next step up the quality ladder is to buy a dedicated microphone. A lot of people (like me) start with a USB microphone, which is extremely easy to use (no extra hardware or software needed). Here’s a good review page comparing a few options at different price points. I got a Yeti Blue Stereo mic because I was feeling fancy.
2. Recording without any network transmission losses
If you are making a call over the internet, using a tool like Zoom, Jitsi or WhatsApp, you always lose some audio quality as the signal needs to be compressed to be transmitted over the network in realtime.
Thankfully, the geniuses at Zencastr have a simple solution: record the audio locally at each end of the call, and then transmit the uncompressed high quality files over the internet, once the conversation has finished.
Here’s how I use it to record podcasts. Go to Zencastr and create a new Episode.
Then, open up a call as you normally would, over Zoom. Once you and your guest are both online in Zoom, send them a link to the Zencastr Episode. This will open a browser window with another audio call running. Once they have activated their microphone in Zencastr, you want to make sure you both mute your mic on Zoom, or you will get feedback. So now you can see each other (and record video) in Zoom, and hear each other (and record audio) in Zencastr.
Press “Record” in Zencastr, and it will capture high quality audio on their machine and on yours. At the end of the call, it will automatically upload the two uncompressed files and stitch them together. Just make sure your guest doesn’t close the browser while the file is uploading.
3. Live audio processing
Okay so you have forked out $50 or $200 for a USB mic, the next step is to apply live audio effects to the signal. This is where we get to the nerdy part.
First you’ll need a great piece of free open source software called OBS Studio, which works on Windows, MacOS or Linux. It’s a very powerful and fairly easy-to-use tool for streaming audio and video to the web. For this post, I am just looking at the realtime audio processing features.
You also need a “virtual audio cable” like VB-Cable for Windows or iShowU Audio Capture for MacOS. This will allow you to take the audio signal from one app (like OBS) and redirect it to another app (like Zoom).
For this example, I’m using iShowU on my MacBook. Once it is installed, it is available in my system as a virtual device, i.e. it will show up in any menu where I can select audio input or output sources.
So first to set up the virtual cables in OBS: go into Settings > Audio, and choose your USB mic as one of the input sources, and iShowU as the Monitoring Device (i.e. the output).
Then go to the Audio Mixer section of your workspace, and find the “cog” menu. First you need to visit the Advanced Audio Properties.
Make sure your input channel is set to “Monitor and Output”:
Now you can start to apply the audio processing features, using what OBS calls “Filters”:
Personally, I use three Filters: Noise Suppression, Noise Gate, and Compressor (in that order).
Noise Suppression is an intelligent filter that tries to remove undesirable background noise (e.g. computer fan, traffic) from the signal (your voice). I generally record in a quiet room so I have mine set to a very subtle -6dB of suppression, you might need more. If you suppress too much, you will lose some of the vocal dynamics, so don’t over-do it.
The noise gate is an on/off switch. It can be open or closed, it’s like an automatic mute. If I’m not speaking, the mic is effectively muted, so quiet background noises like street traffic or neighbours talking won’t be loud enough to open the gate.
I have my gate set to open at -40dB: any sound louder than that will essentially switch the microphone on, for example when I start speaking. It will return back to its muted state if the sound falls below the Close Threshold of -50dB.
An audio compressor reduces the volume of the loudest part of the signal, and boosts the quieter parts. Applying this to your vocals will mean you’re able to hear a lot more of the subtleties and depth of your voice — in other words, it’ll sound more like it was recorded in a studio.
You can tune the settings to suit your ear. For reference, I use:
Ratio 11:1, Threshold -20dB, Attack 3ms, Release 35ms, Output Gain 10dB
(This article is a good introduction to understanding those terms.)
Now all you need to do is go into the audio settings in Zoom (or Zencastr) and select iShowU as your input device:
While you’re there, you can also go into the Advanced settings and switch off noise processing features — there’s no need to repeat the noise suppression in Zoom as well as OBS.
If you want to test how it sounds, tweak some of the OBS settings while you’re recording a Zoom meeting with yourself. Then you can listen back to hear the difference. Here’s an example to show you what my setup sounds like:
That’s it! Let me know if it helps.