General

Anything not fitting somewhere else.

Snippets

Snippets

Things to check out

Apps

Guides

Guides

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:

Guides

Getting professional-sounding microphone processing across your whole system

This guide is an approach to clean up the signal coming from your mic across your whole system. It uses EqualizerAPO to take in a raw mic signal and process it using Reaper's free audio processing tools.

The settings used are designed for real-time audio - that is, for streaming, voice calls, or anywhere where we want to reduce lag or delays as much as possible. It is not for recording that isn't real-time, and (as far as possible) does not pre-process. You will get much better results with more gentle settings on a pre-recorded track (i.e. where you can 'look into the future' to make processing choices).

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 from your mic in all Windows applications.

Note that this approach requires more maintenance and ongoing attention than my guide for doing this in OBS. You will need to return to these steps if you update your drivers, and some of the buttons will crash the application and may lead to your audio simply not working. The typical fix is to uninstall and re-install EqualizerAPO, but please be warned, and use my other guide if any of that makes you uncomfortable.

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. You will need to download and install ReaPlugs
  2. You will need to download EqualizerAPO - installation steps are below
  3. You will need to download a noise reduction VST plugin such as one of the rnnoise builds. Installation steps using that plugin are below, but you can use any VST noise reducer.
  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.

Installing EqualizerAPO

At the end of this section, you will have EqualizerAPO processing the feed from your microphone.

Installation

EqualizerAPO

Run the installer for EqualizerAPO. During the process, you will be presented with a screen that looks like this one (your number of devices will vary) - choose the Capture Devices tab and choose your Microphone:

This will install the audio enhancements for your sound device:

You may need to experiment with the Troubleshooting options on/off if you get crackling, no audio, etc. - these are just the settings that generally work.

If you ever have to return to this screen, you will find it in your start menu under EqualizerAPO as 'Configurator':

Noise Reduction

You can use any noise reduction plugin you want, so long as it's available as a VST. If you have a noise reduction plugin you want to use, and you know where it is, you can skip this step.

Download the file windows_rnnoise_bin_x64.zip from https://github.com/werman/noise-suppression-for-voice/releases (or adjust if you are using 32-bit windows, but that is unlikely). Extract that file somewhere.

With the extracted files, there is a folder 'bin' and within that 'vst'. Copy librnnoise_vst.dll from that folder into C:\Program Files\VSTPlugins. If that folder does not exist, confirm you have ReaPlugs installed (see Pre-Requisites above).

Audio Processing

Monitoring

You can use your windows sound settings to listen to your mic to see how the sound is affected. To do that, open your classic Control Panel:

Open 'Sound':

In the Recording tab, double click your mic and choose 'Listen to this device' from the 'Listen' tab.

image-1651265861990.png

Remember this location. Since the processing will take time, it will delay your voice while listening. This can be incredibly distracting, so you will want to toggle this on and off throughout the process.

Adding plugins

In your Start Menu, you will find the application 'Configuration Editor' under EqualizerAPO:

image-1651266065772.png

Open it. You will want to remove all the default entries with the red '-' buttons:

You will be left with an empty pane:

Make sure your device in the top left corner is set to your microphone.

Click the green + button and choose 'Plugins' / 'VST plugin':

Then follow the blue folder icon next to 'VST plugin', and locate the noise reduction plugin you downloaded earlier. Repeat this step from the '+' button for 'C:\Program Files\VSTPlugins\ReaPlugs\reagate-standalone.dll', and 'C:\Program Files\VSTPlugins\ReaPlugs\reacomp-standalone.dll'. Your window will now look like:

The order is important!

First - Noise reduction
Second - 'ReaGate'
Third - 'ReaComp'

You do not need to configure the noise reduction plugin. Clicking 'Open panel' may crash your application.

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.

Click 'Open Panel' next to the ReaGate VST Plugin. 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.

Click 'Open Panel' next to the ReaComp VST Plugin. . 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.

At this stage, anything that uses your microphone will be using the processed signal. So just choose the same mic you are processing (i.e. the one you chose in the EqualizerAPO settings) as your input device.

Troubleshooting

No feedback in gate or compressor dialog

You may not see the bars move in the gate and compressor panels, depending on your specific configuration or hardware. You can still follow the guide, but you will need to get your settings from elsewhere.

Turn off all effects in EqualizerAPO (the power button to the left of the 'VST Plugin'), and then either follow my OBS guide to get compressor and gate settings or use a tool like LMMS and add the VST files for gate and compressor. Enter those values in EqualizerAPO.

If you use my guide, remember to change the OBS settings back to defaults (remove all filters, change monitor output, update Discord to use your normal mic).

Settings just don't apply

You may find that nothing you do works. Make sure that 'Disable all enhancements' is not checked. You can find this in the Enhancements tab for your device (that you selected in Monitoring, and have selected as Capture Device in EqualizerAPO.

If you find that you can use the Configuration Editor briefly on start-up, but not once you have launched your application, in the same window, choose the 'Advanced' tab and untick 'Allow applications to take exclusive control of this device'. If this works, you have something running on start-up that is capturing your microphone (which you do not want, as it may introduce unpredictable latency). Try closing applications or disabling them on start-up before re-ticking the box.

Processing has stopped working!

Driver updates will remove the EqualizerAPO installation. Returning to the Configurator and re-installing on your device (see Installation above) will typically fix the problem.

I get crackling/popping

  1. Return to the Configurator and try other Troubleshooting options (including turning off Troubleshooting).
  2. In the main window of the Configuration Editor, you may also want to try setting the Channel Configuration to 'mono', which reduced processing work

'The library is not readable by the audio service'

If you get an error that "The library is not readable by the audio service" when selecting VSTs, you will need to copy the contents of C:\Program Files\VSTPlugins to C:\Program Files\EqualizerAPO\VSTPlugins and adjust your paths in 'Adding plugins' above. Your plugins will now load from, for example, C:\Program Files\EqualizerAPO\VSTPlugins\ReaPlugs\reagate-standalone.dll.

Guides

Sharing camera between OBS and Discord

This is a small guide that walks through setting up a virtual camera scene in OBS that will be transmitted to Discord (or other applications). The camera sent to Discord will contain your camera and any other items you want to include (such as your name, etc.), while OBS will continue to operate normally.

Pre-requisites

  1. Working OBS setup
  2. The Virtual Camera Filter (downloaded and installed) - not required in OBS 28+

Initial setup

The first step is to remove your camera from all your existing scenes.

Open OBS, and go through all your scenes (all items in 1, below) and make sure there are no sources (2, below) currently using your camera - remove your camera wherever it appears:

You should now have no camera input on any of your scenes in OBS.

Add a new scene (1) and add your camera to it (2). Call this scene something like 'Camera Input'.

Adding your camera to other scenes

Create a new scene (1) called 'Virtual Camera', and add a source to it (2), and add a Scene source (3):

Choose 'Add Existing' and choose the Camera Input scene from above:

For older versions of OBS (prior to 28)

Right click on the Scene for 'Virtual Camera' and click on 'Filters' (1):

Click + (1) and add 'Virtual Camera'. Your filters should look like this:

Use your camera in Discord or other apps

At this point your scene 'Virtual Camera' is available to the rest of your system as OBS Virtual Camera.

You can add other things to your scene (i.e. your name, socials, etc.) to the 'Virtual Camera' scene - this will show up in Discord and other places you can use 'OBS Virtual Camera'.

Note: Do not click 'Start Virtual Camera' in the main OBS window. The virtual camera will always be on. If you need to turn off your virtual camera (such as to change OBS settings), return to the Virtual Camera filter list and click the eye icon next to Virtual Camera.

Adding your camera back to your scenes

At the beginning of this process, we removed the camera from all scenes. To add your camera back to your scenes, go through each scene where you want your camera. Instead of adding your camera input (your Video Capture Device), add the camera as you did in the Virtual Camera scene by adding the Camera as a Scene source.

Return to each of your scenes (1), add a source to it (2), and add a Scene source (3):

Choose 'Add Existing' and choose the Camera Input scene from above:

Finishing Up

You now should have your camera only in one scene ('Camera Input'), and you are now using that scene as a Source inside other scenes that need your camera.

You also have a Scene called 'Virtual Camera' that is transmitted to other applications via the 'OBS Virtual Camera'. You can adjust that scene as you wish to add other material (text sources, etc. as with any other OBS scene) and it will only appear on your camera feed, and not go to your stream.

For newer versions of OBS (after 28)

Click the cog next to the Virtual Camera link. And change your Output Type to 'Scene' and Output Selection to your 'Virtual Camera' scene.

You will need to click 'Start Virtual Camera' to turn on the camera for other apps.

For older versions of OBS (prior to 28)

Note: Do not click 'Start Virtual Camera' in the main OBS window. The virtual camera will always be on. If you need to turn off your virtual camera (such as to change OBS settings), return to the Virtual Camera filter list and click the eye icon next to Virtual Camera.

Guides

How not to get too doxxed

Just bolting together some specific advice about how to keep your online identity away from your personal life. It's not a comprehensive guide, and is really just aimed at limiting the damage. It is very unlikely that you will be able to clean up every breadcrumb, and you only have to fail in defence once for information to be irrevokably leaked online.

Do your own research

If you can find your own stuff by searching for your real name, you're likely pretty doxxable. Especially if your online name links to a domain or email address that has been registered with your real name. That includes stuff like payment accounts, archive.org history, Facebook accounts after the real name policy, etc.. Do that search, and get comfortable with anything there being used against you online. If it links to people close to you, it may be worth thinking about when and how you'll give them a heads up (i.e. let your work know if you show up on an *farms site). Clean up anything you can, shut down unused sites, delete unused accounts. They may not be gone, but they will be harder to find.

Don't let people join the dots

The most common way your details will get out there is if you have a link to a government or institutional account. Banking, drivers licenses, ID confirmation, KYC stuff, is all pretty obvious, but consider who you give things like phone numbers, email addresses, and other ID-type things to. These can be quickly used for confirmation (i.e. if I think I know your phone #, and have your twitter ID, I can use the recovery form to confirm some digits. You can do this with credit cards too if you can get a glimpse of an account, or if you can hack another online account that shows payment history).

Be mindful of things that will let people link up IDs. IP addresses can also be here (will touch on them later). Details like phone numbers, email addresses, portions of credit cards, etc. can be used to confirm a dox. If you can, use things that are only for your online identity

Do the basics

Basic online hygiene. Get your PC up-to-date (i.e. make sure Windows Update is running and current), make sure you have anti-virus (Windows Defender is good, built in, easy to use). That's baseline. Add to that: Do not click any links you are sent unless you know what it is and know the site, this is how people get IPs for DDoSing, confirming, etc.. If I see an IP from a rough area I know someone is from, I can probably get within 30km of that person's address, but I can also do things like port scans to see if you are running any home services, or present any other vulnerabilities.

Compartmentalise

Separation, separation, separation. As much as possible, don't let your online and offline lives blend. Separate email addresses, separate names, etc. - but if you can also separate discord accounts, separate social accounts, separate twitch accounts. Thinks like Steam URLs that haven't been updated in years, old tweets with your new car (and new car rego), etc. - those are pretty obvious. But add in - your friends socials where they are linked to you - consider just blocking anyone on your online accounts that you know in real life that uses their real details online (especially if they may post your face and real first name).

Don't feed these sites

Do not interact with sites known for doxxing. Especially if you haven't cleaned up your online. These account records are available to site owners, and things like search terms you enter, Google referrers (i.e. what you used to search for them), places you link to the site, your IP, any browser fingerprinting, etc. becomes immediately available to them. If you absolutely have to interact, use something like the Tor Browser and make sure you visit in a totally clean session. Never enter any information directly into these sites.

Keep yourself clean

Keep things 'clean' - don't stay in too many discord servers (know that your server join list is public), don't keep accounts open you don't need, don't get lazy and use an existing personal account for something. These are the places that your ID will leak. Some things (like WHOIS records, anything on Wikipedia, anything that's a public record) are there forever so it only takes one slip-up.

Watch yourself

Make sure you have good visibility - sign up for Google Alerts for your real name on your personal Google Account, sign up for https://haveibeenpwned.com/. Repeat your initial search on a semi-regular basis. Ask people to check up on you from time-to-time.

Max Security

Like with the online hygiene - max out your security settings. Set up MFA everywhere, but do not use SMS verification if you can turn that off. Phone numbers can be stolen very easily, and SMS is not a secure medium. Use a password manager and do not reuse passwords. If your password leaks it can be used to tie two unrelated accounts together.

Don't Freak Out

Do not freak out - if your info shows up online or on stream, just don't interact with it, move it off screen if you can while streaming. It is very important you don't provide confirmation, or an indication of something to be clipped. If some info leaks - do a set of Google searches for all the info, to get a sense of how far it goes. For things like IP addresses, this won't be very far - but consider how that may come back to you. An IP address can be used to DDoS you, a PO box can be used to send you awful things, and a home address can swat you.

Plan to Fail

If someone is really after you, there is probably very little to do to stop the dox getting out. Have a plan for when that happens. Know what you're scared of (Job? Family? Etc.) and have a plan to inform them - i.e. you can say to HR at work 'some Internet weirdos may try get me fired by lying about me, because I helped out with a politics server online', you can say to your family 'you may get some harassment - don't engage with it, report it to the cops'. If you think there's a risk of swatting - let the cops know on their non-emergency line, it won't stop it happening, but it will let you establish a pattern (i.e. not 'just a prank') of harassment that can help law enforcement get involved.

If anything happens in the real world - tell the police, it is a federal crime almost everywhere, and will massively help if things spiral. (i.e. "No, Mr. Boss, I am not a <horrible thing>. Here's a copy of my police report about how I'm being harassed" will help you clearly define who the victim is).