This page looks best with JavaScript enabled

My Audio Editing Workflow feat. RNNoise and Audacity

 ·   ·  ☕ 4 min read


I have been recording screencasts for a while now. And as simple as it sounds and looks, there is always some pre and postprocessing required to make the screencast look and sound as it does. If you are reading this on my blog, I have a channel called Fullstack with Santosh where I post videos about tech. Go, get subscribed if you are wondering what what content I create.

In this post, I wanted to take time and share my workflow. Maybe it will become useful to some person who is looking to get started. It’s also a way for me to write down steps for future reference. So without further ado, let’s get started.

Noise Cancellation at the time of Recording

So most of my programming videos are shot using OBS. OBS does a pretty good job of stacking different sources in a single video. By stacking sources, I mean that I can have a screensharing, a webcam, and a sound source all recording at once. I can even adjust the position and scale of the source on the screen so that I can be on the corner of the screenshare. OBS has been my go-to application for recording screen recordings.

As this post is about audio, when you add an audio source to OBS it might not have a really good noise-to-signal ratio by default. The OBS is going to capture whatever signal you get from the mic. OBS provides a way to alter these signals and enhance them by removing the noise. You can enable this by going to the audio source, and right-clicking on it. Then add Noise Suppression. There are two options shown here. Select one with more CPU consumption, RNNoise. Play around with recording and see if things changed for you.

RNNoise is a noise suppression library based on a recurrent neural network, thus the name RNN-Noise. It is a very popular open source library to reduce background noise from audio streams. As I mentioned it is open source, it is not only limited to OBS Studio. I have gone one step ahead, and I enable noise cancellation at the system level whenever I log in. The same RNNoise algorithm is used. But it creates an input audio device with noise removed, which then I can use in applications like Zoom or others.

To achieve this at the system level, I use EasyEffects. EasyEffects does more than just RNNoise processing. But I only use it for noise reduction. You may want to explore it if your work is audio-related.

After I am done with my recording. I don’t send them to Audacity at this time. I first align them, do the cuts, then export the audio. Then I process them as described below. After that, I replaced the original audio is the video editing software to have the enhanced version of the audio.

Audacity Post Processing

These are the filters I have been using. These filters are supposed to be applied sequentially.

0. Noise reduction

Role: to reduce/remove background noise.

This is numbered 0 because you shouldn’t be doing this in Audacity. This should be somewhere in the beginning of the pipeline while recording. RNNoise is one of the popular AI-based algorithms as I already mentioned in the previous section.

1. Compressor

Role: Normalizes high peaks

It will reduce high peaks of sound frequencies to normalize it. Leave this at default settings.

2. Limiter

Role: Normalize low trenches

Works in conjunction with Amplifier to increase the low trenches. I personally don’t find it using this more often. As I have a unidirectional mic, I prefer staying at a constant distance whenever I speak in the microphone.

3. EQ Bass and Treble Boost

Role: To pump bass and Treble into the clip

These two are separate filters, have placed them together as they are very similar.

The effect of this one is more dramatic than any other filter. These are the filters I call them audio enhancers. Compressor and Limiter are the utility filters.

4. Amplifier

Role: Increase the volume in general.

In general, I mean quieter parts as well as louder parts are made louder in a similar manner. No special treatment is given.

You can use Macro and set those parameters for the specific filters if you have more than one file. But I rarely find it doing for myself. I prefer doing it manually.


As part of my entire audio processing workflow, there is one more thing I add in some of my videos, mostly the travel videos it is essential. This thing is copyright-free (or attribution-required) music.

Here are a couple of libraries where you can find such music:

  1. YouTube Music Library
  2. SoundCloud
  3. BenSound
  4. Incompetech
  5. Free Music Archive

My current preference is BenSound. But it’s only until I run out of relevant free music on their site.


This has been my audio processing workflow. I would like to plug my programming channel as well as travel channel below:

  1. Fullstack with Santosh
  2. Backpack with Santosh

Get subscribed to know more about me. Thanks and have a nice day.

Share on

Santosh Kumar
Santosh Kumar
Santosh is a Software Developer currently working with NuNet as a Full Stack Developer.