Prerequisites:
- PipeWire
- Arch/Manjaro Linux or Fedora Linux
Install rnnoise first
Arch Linux:
sudo pacman -S rnnoiseFedora Linux:
sudo dnf install rnnoise- Plugin Installation
Arch Linux:
yay -S noise-suppression-for-voiceFedora Linux:
sudo dnf copr enable ycollet/audinux
sudo dnf install ladspa-noise-suppression-for-voice- Setup Pipewire config:
Location: ~/.config/pipewire/pipewire.conf.d/
If not found, you can create first:
mkdir -p ~/.config/pipewire/pipewire.conf.dThen create file 99-input-denoising.conf
Arch Linux:
# Noise canceling source
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.name = "rnnoise_source"
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_stereo
control = {
"VAD Threshold (%)" 50.0
"VAD Grace Period (ms)" 200
"Retroactive VAD Grace (ms)" 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]Fedora Linux:
# Noise canceling source
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.name = "rnnoise_source"
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib64/ladspa/librnnoise_ladspa.so
label = noise_suppressor_stereo
control = {
"VAD Threshold (%)" 50.0
"VAD Grace Period (ms)" 200
"Retroactive VAD Grace (ms)" 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]Reload:
systemctl --user restart pipewire.serviceVerify:
systemctl --user status pipewire.serviceThanks