filter-chain: add rnnoise example source

This commit is contained in:
Wim Taymans 2021-05-09 13:47:11 +02:00
parent b2053b9d49
commit c73946a64f
2 changed files with 62 additions and 0 deletions

View file

@ -1,5 +1,6 @@
conf_files = [
[ 'demonic.conf', 'demonic.conf' ],
[ 'source-rnnoise.conf', 'source-rnnoise.conf' ],
]
foreach c : conf_files

View file

@ -0,0 +1,61 @@
# Noise canceling source
#
# start with pipewire -c filter-chain/source-rnnoise.conf
#
context.properties = {
log.level = 0
}
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rtkit
args = {
#nice.level = -11
#rt.prio = 88
#rt.time.soft = 200000
#rt.time.hard = 200000
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-client-device }
{ name = libpipewire-module-adapter }
{ name = libpipewire-module-filter-chain
args = {
#node.latency = <latency as fraction>
node.name = "rnnoise_source"
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
#audio.rate = <sample rate>
#audio.channels = <number of channels>
#audio.position = <channel map>
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = ladspa/librnnoise_ladspa
label = noise_suppressor_stereo
control = {
"VAD Threshold (%)" 50.0
}
}
]
inputs = [ "rnnoise:Input (L)" "rnnoise:Input (R)" ]
outputs = [ "rnnoise:Output (L)" "rnnoise:Output (R)" ]
}
capture.props = {
node.passive = true
}
playback.props = {
media.class = Audio/Source
}
}
}
]