diff --git a/nixos-modules/audio/default.nix b/nixos-modules/audio/default.nix index 13c0e7e..17a1333 100644 --- a/nixos-modules/audio/default.nix +++ b/nixos-modules/audio/default.nix @@ -29,41 +29,67 @@ in wireplumber.enable = true; - extraConfig.pipewire."30-noise-filter" = { - "context.modules" = [ - { - name = "libpipewire-module-filter-chain"; - args = { - "node.description" = "Noise Canceling source"; - "media.name" = "Noise Canceling source"; - "filter.graph" = { - nodes = [ + extraConfig.pipewire = { + "30-noise-filter" = { + "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_mono"; + control = { + "VAD Threshold (%)" = 50.0; + #"VAD Grace Period (ms)" = 0; + "Retroactive VAD Grace (ms)" = 50; + }; + } + ]; + }; + "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; + }; + }; + } + ]; + }; + "10-raop-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-raop-discover"; + args = { + "stream.rules" = [ { - type = "ladspa"; - name = "rnnoise"; - plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; - label = "noise_suppressor_mono"; - control = { - "VAD Threshold (%)" = 50.0; - #"VAD Grace Period (ms)" = 0; - "Retroactive VAD Grace (ms)" = 50; + matches = [ + { + "raop.ip" = "~.*"; + } + ]; + actions = { + create-stream = { + "stream.props" = { + }; + }; }; } ]; }; - "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; - }; - }; - } - ]; + } + ]; + }; }; }; };