Hi, I’d like to set up rnnoise as the pipewire documentation does.
The boilerplate mentioned there and a couple of extra neat things are already set in the default config, so ideally, I’d just need to add:
config.pipewire = {
"context.modules" = [{
args = {
node.name = "rnnoise_source";
node.description = "Noise Canceling source";
media.name = "Noise Canceling source";
filter.graph = {
nodes = [{
type = "ladspa";
name = "rnnoise";
plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
label = "noise_suppressor_stereo";
control = { "VAD Threshold (%)" = 50.0; };
}];
};
capture.props = { node.passive = true; };
playback.props = { media.class = "Audio/Source"; };
};
}];
};
Sadly, this seems to completely wipe the default modules config, which seems to be what recursiveUpdate
does. The default config is defined here.
Is this an oversight by the module author? If so, what should that function be, so that I can patch it? Is there something else I can do?