Free and Open Source Software Noise Cancelling for Working from Home

Sankaran Srinivasan
4 min readSep 21, 2020

--

One of the biggest challenges in working from home for a prolonged period of time is attending meetings or collaborating over call from a noisy environment. Especially, if you are working from hot countries like India, you cannot switch your fan off during the day, or you have to run the air conditioner all day. One solution is to buy a headphone with noise cancelling mic. These kind of headphones would be generally expensive if they do their job well, and another problem is that if you are working over call for the whole day, say in a pair programming, wearing a headphone thorough out may not be comfortable; for me it is very uncomfortable to wear a headphone for more than an hour.

So, I resorted to a solution where I bought a desktop microphone (as my laptop mic is not that great), reused a very inexpensive old desktop speakers, and for noise cancellation, installed a couple of free software that were suggested by one of my colleagues, whom I usually do pair programming with. Naturally, he was the victim of my noisy room, and so he had to do something !!

Below, I have described what I did step-by-step. The main software that cancels the noise is https://github.com/werman/noise-suppression-for-voice/. It is a open source software. But, to use it in windows, you have to install another software to integrate the VST plugin and configure it correctly.

  • Download, unzip, and start the installer for Equalizer APO from this site https://equalizerapo.com/download.html
  • During the installation, you will be asked to select the devices for which you want to install. Here, be sure that you are selecting only the devices that you want to install to. Typically for this noise cancelling, we need it only in the capture devices. There is another tab called playback devices, and you can go to that tab and remove the tick from the playback devices.
  • There is a caveat here, that the noise cancellation plugin that we are going to configure in the below steps will be applied to all the devices that we select in this step by default. There is an option to configure the plugin for specific device, but it is very non-intuitive to do that configuration. To save some time there, it’s better to select only the input/capture devices in this step. And, I never noticed in the beginning that the noise cancelling was also being applied to my playback devices like speakers. This had the unintentional side-effect of cancelling the noise and partially the voice of the other speakers in a meeting sometime, if the speakers used really bad mics, and due to the noise from other persons in the call. But the plugin cancels out only the noise and picks up my voice properly if configured only for the input devices.
  • Complete the installation and reboot the system
  • Download the noise cancellation plugin from github https://github.com/werman/noise-suppression-for-voice/releases
    Download the latest release, choosing from 32-bit or 64-bit version according to your OS. Unzip the files, and copy bin/vst/librnnoise_vst.dll to a location that will not have access problems. Copying directly to C drive worked for me.
  • Open Editor.exe from the Equalizer APO installation directory (by default Program Files/EqualizerAPO
  • Skip this step if you have already selected the required input devices. As shown below two pictures, Click the bottom most green plus symbol and add a new control to select the devices; then select only the input devices that you want the noise cancellation on.
  • Click the bottom most green plus symbol and configure a VST plugin as shown below
  • Point to the correct path where you have copied the VST plugin, and hurray ! we are done configuring the plugin !

Further, you can turn off the plugin whenever you don’t need the noise cancellation by clicking the on/off button against the VST plugin. This method removes the background noise almost to zero when I am not talking(mic not muted). When I am talking, it allows a bit of noise but suppresses it mostly. I can un-mute my mic and whistle a song and no one would even hear it; then I talk, and they hear it. It also removes most parts of taps on the table, keyboard noise, fan noise, road noise if you are sitting near a window, rain noise, etc.

Experiment, and post your results in the comments.

Please don’t forget to star the original project on github https://github.com/werman/noise-suppression-for-voice !

--

--