Using OBS for audio processing in Discord and Streaming

This guide is a minimalist approach to using OBS to process audio for both streaming and voice calls using Discord (or similar software). It uses OBS to take in a raw mic signal, process it using Reaper's free audio processing tools, and outputs to a virtual audio device that is then used in place of the mic for recording.

At the end of this guide you will have noise-reduced (i.e. no background hums or hisses), gated (i.e. no background noise when you're quiet), and compressed (i.e. no wild swings in volume) audio on-stream and in Discord calls.

If you have feedback, you can comment down below (requires an account, or to sign-in with Discord) or reach out on Twitter or Discord.

Pre-requisites

  1. Working OBS setup
  2. You will need Virtual Audio Cable (or Virtual Audio Cable A+B/C+D if you already use Virtual Audio Cable)
  3. You will need ReaPlugs
  4. Turn off any upstream audio processing (anything that gates/compresses/etc. your signal in software or hardware)
  5. Your microphone connected and gain/input level set to a level you're comfortable with. Gain should be set not clip or buzz when you get loud.

Restrictions

  1. You will not be able to use OBS to monitor your audio, as this setup uses the monitor channel to get audio into Discord (or other communications tool).
  2. You will need OBS running for audio to work

If you can't live with these restrictions, I have another guide that does not have the same constraints, but is more involved at "Getting professional-sounding microphone processing across your whole system".

Passing Mic from OBS to Discord

At the end of this section, you will have unprocessed audio going from the mic to OBS and then into Discord.

OBS Settings

In File / Settings / Audio - configure your Monitoring Device to use your Virtual Cable input.

Choose 'OK'.

In the Edit / Advanced Audio Properties - configure your microphone to be monitored both Monitor and Output.

Set all other Audio Monitoring settings to "Monitor Off".

Discord Settings

Open Discord and go to your settings / Voice & Video. Change Input Device to CABLE Output (or whichever corresponds to Output you chose in OBS).

Scroll down in these settings and turn off all Discord processing - you will be doing Noise Suppression/Reduction and Gain in OBS. You may want to turn on Echo Cancellation if you are using speakers or headphones that 'leak' into your mic.

Make sure OBS is running (does not need to be streaming or recording), that your mic is unmuted and shows in the mixer in OBS, and choose 'Let's Check' in Discord.

Save your settings - at this point you have OBS passing audio from your mic into Discord.

Audio Processing

Use the Discord 'Let's Check' function to listen to your audio - it will give you a representation of what your audio will sound like to others.

OBS Filters

Return to OBS, and in the mixer panel, open Filters from the Settings menu for your Mic.

Noise Suppression

Noise suppression will remove repetitive noises, low hums, etc. - fans, electrical hums, etc. Click the Add button, and choose "Noise Suppression".

image-1650678535154.png

The defaults are likely fine, leave them as-is.

Noise Gate

The noise gate will silence all output when your audio signal drops below a certain level, which will result in silence in the signal when your space is quiet such as when you move around without talking.

Choose the same Add button as above and choose "VST 2.x Plug-in" not Noise Gate. Change the name to "VST Noise Gate". Choose 'reagate-standalone' from the VST 2.x Plug-in drop down.

Click 'Open Plug-In Interface'. Configure your settings per the below:

While sitting as quietly as you can, move the Threshold slider on the left to just above the highest point the green bars reach. When you speak quietly, the green bars need to be above the Threshold level.

The important settings for changing the sound are:

Pre-open - set this to zero for anything live. Anything above zero will delay the signal so the gate can open 'before' you speak, but for live this is not worth using.
Attack - this is the amount of time before the gate lets noise through. Increase this if your space has clicks/pops/etc. that may cause the gate to open briefly, but this may cut off the first part of your sentences if it is too high. So keep it as low as possible.
Hold - this is the minimum amount of time the gate stays open, set it to around the time it takes to say a short word like 'the' or 'a'. This will ensure you don't get cut off by the gate.
Release - this is the amount of time that the gate will spend 'turning down the volume' to zero as it closes. Set this to a long enough time that you can't hear the gate opening and closing.

To the right, Dry is the amount of the un-gated signal that will be mixed it. Set this to around -25 to allow some background noise through - this will make the sound a bit more natural.

Close the window.

Compressor

The compressor will take loud noises and 'turn the volume down'. This will allow you to turn the overall signal up so that quieter sounds can be heard without loud noises causes a significant increase in volume and requiring your audience to change volume as you stream.

Choose the same Add button as above and choose "VST 2.x Plug-in" not Compressor. Change the name to "VST Compressor". Choose 'reacomp-standalone' from the VST 2.x Plug-in drop down.

Click 'Open Plug-In Interface'. Configure your settings per the below:

This compressor set up is quite different to pre-recorded content - the goal is to have a compressor 'panic' and turn the noise down as rapidly as possible and then turn it back up slowly.

While talking at a normal volume, move the Threshold slider to approximately the average point the green bars reach. Because the compressor works by turning the volume down, you will need to add gain to make the volume more correct. Speak loudly, and move Wet up until the output meter (green bars with numbers over them) is hitting around -4 when you are as loud as your typical loud noises.

The important settings are:

Pre-open - set this to zero for anything live. Anything above zero will delay the signal so the compressor can turn the volume down 'before' you speak, but for live this is not worth using.
Attack - this is the amount of time before the compressor acts. Keep it as low as possible so that the compressor acts as early as possible, but you may want to increase this if you want the volume to briefly spike before being compressed.
Release - this is the amount of time the compressor will take to 'turn the volume back up'. Set this higher if you tend to stay loud for a few sentences, set this lower if loudness is more transient.
Ratio - this is the amount that the volume is 'turned down'. At 2:1, noise above the threshold will be cut in half. At 4:1 it will be a quarter, etc. At high numbers (above 8:1 or so), yelling will stay at about the same volume as normal speaking which is usually the desired outcome.

To the right, Dry is the amount of the un-compressed signal that will be mixed it. Set this to around -6 to allow some background noise through - this will make the sound a bit more natural.

You will need to spend some time getting Threshold, Ratio and Wet correct. You want to see very small movement in the tall red bar (next to Output Mix) at normal talking, no movement in that bar when talking softly and large movements when you yell. Output Mix should never exceed 0 (you can click on the number at the very top of the Output Mix bar to reset it, it will show you a 'peak' number):

Final Settings

If your overall volume is low, get the volume coming out of the Compressor higher by adjusting up Wet at the Compressor stage. You may need to increase your threshold or ratio to make sure you don't clip above zero.

In OBS, your Mic volume should exceed all other audio sources. Set your Mic volume to the max level and adjust your other sources down to compensate. Your Mic analyser should be in the upper portion of the Red part of the bar. The compressor will keep the volume even, so you want to be loud on the output signal.

If you have everything sounding ideal but still hit the top of the OBS bar from time-to-time, you can turn down the Mic volume in the OBS mixer. Note it should peak above all your other sources. Adjust your other sources down to compensate.

This slider is your master mic volume control. You should set it lower than 0 to give yourself gain play with if you need to dial yourself up on-the-fly. Note that you should balance this for your stream output, and you can turn down your volume in Discord if required.

Troubleshooting

Very high output appearing on one channel

If you have a stereo sound source, but you are only using one channel (i.e. most microphones), you may find that the right channel is pegged to 100%, even though OBS shows no input in the main interface.

We fix this by ignoring Main Input R:


Revision #20
Created 23 April 2022 01:24:38 by Bossett
Updated 29 April 2022 21:30:15 by Bossett