# PipeWire noise cancellation configuration for kiosk microphone # This creates a virtual source with echo cancellation and noise suppression context.modules = [ { name = libpipewire-module-echo-cancel args = { # audio.channels = 1 # capture.props = { # node.name = "Echo Cancellation Capture" # } # source.props = { # node.name = "Echo Cancellation Source" # node.description = "Noise-Cancelled Microphone" # } # sink.props = { # node.name = "Echo Cancellation Sink" # } # playback.props = { # node.name = "Echo Cancellation Playback" # } aec.method = webrtc aec.args = { # WebRTC audio processing settings webrtc.gain_control = true webrtc.extended_filter = true webrtc.high_pass_filter = true webrtc.noise_suppression = true webrtc.noise_suppression_level = 3 webrtc.voice_detection = true } } } ]