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 = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa = {
|
alsa = {
|
||||||
|
@ -8,14 +40,16 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
wireplumber.configPackages = [
|
wireplumber.configPackages = [
|
||||||
(pkgs.writeTextDir "share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" ''
|
(pkgs.writeTextDir
|
||||||
bluez_monitor.properties = {
|
"share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" ''
|
||||||
["bluez5.enable-sbc-xq"] = true,
|
bluez_monitor.properties = {
|
||||||
["bluez5.enable-msbc"] = true,
|
["bluez5.enable-sbc-xq"] = true,
|
||||||
["bluez5.enable-hw-volume"] = true,
|
["bluez5.enable-msbc"] = true,
|
||||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
["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