feat: add pipewire noise cancellation config
This commit is contained in:
parent
3685cf5abe
commit
dad3573f27
1 changed files with 43 additions and 9 deletions
|
@ -1,4 +1,36 @@
|
|||
{pkgs, ...}: {
|
||||
{pkgs, ...}: let
|
||||
pw_rnnoise_config = {
|
||||
"context.modules" = [
|
||||
{
|
||||
"name" = "libpipewire-module-filter-chain";
|
||||
"args" = {
|
||||
"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;};
|
||||
}
|
||||
];
|
||||
};
|
||||
"audio.position" = ["FL" "FR"];
|
||||
"capture.props" = {
|
||||
"node.name" = "effect_input.rnnoise";
|
||||
"node.passive" = true;
|
||||
};
|
||||
"playback.props" = {
|
||||
"node.name" = "effect_output.rnnoise";
|
||||
"media.class" = "Audio/Source";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
in {
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
|
@ -8,14 +40,16 @@
|
|||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
wireplumber.configPackages = [
|
||||
(pkgs.writeTextDir "share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" ''
|
||||
bluez_monitor.properties = {
|
||||
["bluez5.enable-sbc-xq"] = true,
|
||||
["bluez5.enable-msbc"] = true,
|
||||
["bluez5.enable-hw-volume"] = true,
|
||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||
}
|
||||
'')
|
||||
(pkgs.writeTextDir
|
||||
"share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" ''
|
||||
bluez_monitor.properties = {
|
||||
["bluez5.enable-sbc-xq"] = true,
|
||||
["bluez5.enable-msbc"] = true,
|
||||
["bluez5.enable-hw-volume"] = true,
|
||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||
}
|
||||
'')
|
||||
];
|
||||
extraConfig.pipewire."99-input-denoising" = pw_rnnoise_config;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue