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 = /usr/lib64/ladspa/librnnoise_ladspa.so
                    label = noise_suppressor_stereo
                    control = {
                        "VAD Threshold (%)" = 23.0
                        "VAD Grace Period (ms)" = 200
                    }
                }
                {
                    type = ladspa
                    name = equaliser
                    plugin = /usr/lib64/ladspa/caps.so
                    label = Eq10X2
                    control = {
                        "31 Hz" 0
                        "63 Hz" 0
                        "125 Hz" 0
                        "250 Hz" 0
                        "500 Hz" 0
                        "1 kHz" 0
                        "2 kHz" 0
                        "4 kHz" 0
                        "8 kHz" -3
                        "16 kHz" -3
                    }
                }
                {
                    type = ladspa
                    name = compressor
                    plugin = /usr/lib64/ladspa/caps.so
                    label = CompressX2
                    control = {
                        "measure" 1
                        "mode" 1
                        "threshold" 0.5
                        "strength" 0.25
                        "attack" 0.75
                        "release" 0.5
                        "gain (dB)" 12
                    }
                }
            ]
            links = [
                { output = "rnnoise:Output (L)" input = "equaliser:in.l" }
                { output = "rnnoise:Output (R)" input = "equaliser:in.r" }
                { output = "equaliser:out.l" input = "compressor:in.l" }
                { output = "equaliser:out.r" input = "compressor:in.r" }
            ]
        }
        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
        }
    }
}
]
