Enable Noise Supression in Kdenlive

White noise is everywhere, and we have evolved to more or less ignore it automatically when we hear it. When recording audio or video however, that ambient white noise we all have adapted to can become a nuisance. The best option is to have an insulated recording studio with appropriate acoustic paneling and all that jazz.

For the casual creator however, all of that is a lot of work involved for something not needed 99% of the time. Instead the easier approach is to deal with ambient white noise in software!

I personally use kdenlive to edit videos which supports plugins for various adjustments like volume control, fade in/out, etc. Unfortunately it does not ship a noise suppressor by default, but it's easy enough to add one.

Danylo (werman) offers a noise suppression plugin based on Xiph's RNNoise that works quite well. Unfortunately that package has no longer been provided in Debian for the last couple years, (no idea why).

Luckily though it's simple enough to compile Danylo's source code. Kent West published an article in 2023 illustrating the steps they used to build the project.

# Install dependencies
sudo apt install cmake ninja-build pkg-config libfreetype-dev libx11-dev libxrandr-dev libxcursor-dev git

# Obtain source code
git clone https://github.com/werman/noise-suppression-for-voice.git

# Build
cd noise-suppression-for-voice
cmake -Bbuild-x64 -H. -GNinja -DCMAKE_BUILD_TYPE=Release
ninja -C build-x64

# Manual install
sudo mv build-x64/bin/ladspa/librnnoise_ladspa.so /usr/lib//ladspa/
sudo chmod 644 /usr/lib/ladspa/librnnoise_ladspa.so
sudo chown root:root /usr/lib/ladspa/librnnoise_ladspa.so

Restart kdenlive if it's running and you should now have the "Noise Suppression for Voice" plugin.

This plugin works rather well with no modifications needed; just add it to a clip and it'll do its magic!