Avoid 30 minutes of can you hear me Video conferences are an important part of our lives especially as a remote developer, even more in this days When we join into a video conference we always check the camera but rarely check the audio Most of the laptops already have good cameras and for desktops is cheap to get a nice quality camera, but at the end the video is only our presentation card but the message is at the end the most important thing in a video conference and. The message is not in the video, is in the audio The problem Aside the microphone quality witch is actually acceptable in most of cases we have another enemy The noise And here is the issue, our brains actively removes the constant noise and we can not hear it but the microphones can and will transmit the same exact audio waves as are received. Some apps like zoom have basic noise reduction systems, however, is not the case on all of the video conferencing applications like google hangouts The noise cancellation work usually are done in post-production once the audio is recorded, and it is better to give better quality This is why we will check how to make our microphone sound like a studio And make the life easier to your partners and coworkers To achieve that we will use a plugin named Reafir from Reaper for noise cancellation in real-time There are many programs that can run audio plugins but in this case, we will focus on the original one Reaper witch is the easiest way So let's go ahead Step 1: Install Reaper REAPER is a complete digital audio production application for computers, offering a full multitrack audio and MIDI recording, editing, processing, mixing, and mastering tool set. The software has a cost of $60 however they offer an infinite evaluation license (just like winrar) for personal use You can download it in and run the installation file here Step 2: Installing Jack server Reaper for Linux doesn’t work with the ALSA audio service so we need to install and setup the jack server JACK Audio Connection Kit is a low latency sound server that can connect apps through the API I recommend to use the Gui for the jack server qjackctl is easy to use and really easy to set up. Can be installed with this command apt qjackctl install Run it and we will see this interface Once installed we need to setup our audio input interface by clicking in setup And select our microphone audio interface Now we need to install some jack utilities before running the server sudo apt libasound2-plugins install sudo apt pulseaudio install And now we can just click on “play” to run the jack server and we will be able to run Reaper Step 3: Configure reaper Noting will happen because we need to setup the audio interfaces by clicking on actions > preferences We need to select Jack in the audio system option and apply Now reaper is able to hear us but we still need to create a new track we can do it with ctrl + t And the track will appear here, now we only need to enable it by clicking the red circle to arm the track and we will see the mic levels Step 4: Enable Reafir Reafir is an FFT based plugin that allows us to eliminate the background noise in our recordings by subtracting the prerecorded sound from the recording, to enable it we need to click on FX in the track Search for reafir (you can use the filter) and click on Ok We will see the background noise, and this is the noise that we want to remove Now we need to select in mode subtract, there are many options to enable a noise gate or to cut all the frequencies in a certain range witch is better for best quality results if you already have a record and time to work on, however for real-time the subtract option is better And we will need to create a noise profile, this is the noise that will be substracted from the audio record We can do it by clicking in the checkbox, wait a few (5-7) seconds and then click again to stop it So far we have the reafir plugin enable and we are able to record crystal clear audio but this is not our final goal, we want it for videoconferences Now we need to save the project and close reaper for now Step 4: Setup the Jack to ALSA bridge So the next thing we need to do is to take the audio output from reaper and bring it back to the system but we have one last problem, the video conferencing apps only work with ALSA (Advanced Linux Sound Architecture ) the high-level audio system So we will need to create a virtual interface to get the sound from the reaper output and send it back to the system as an input device. In order to do that we will need to execute a system file .asoundrc, we can use any text editor we want by running the next command in this case with nano nano ~ /.asoundrc And we need to add the following lines save it and restart the system Step 5: Run it Now we will need to connect the audio interfaces Open QjackCtl Click on start Open the previous reaper project Edit the connections in the QjackCtl patch-bay Here we will see the audio input system, reaper, and our virtual interface, click on disconnect everything and do the connections manually drag and drop the input system to reaper and the input reaper to the output jack Step 6: Use it And we are done now we can go to our video conferencing software and select the pulse audio jack Sink as the main input to get the filtered audio. Nice videoconferencing