On Fri, 28 Oct 2016, at 06:29 PM, Tanu Kaskinen wrote: > On Fri, 2016-10-28 at 02:13 -0700, N G wrote: > > Hello, > > I'm trying to do a comparison of various noise suppressing methods and I'd > > like to run some noisy audio through the module-echo-cancel using the > > webrtc method. Is there a straightforward way to do this? > > I'm not an expert on the echo-cancel stuff, but just load the module > and play something to the sink it creates? Here's the basic way to load > the module: > > pactl load-module module-echo-cancel sink_name=foo sink_master=master > aec_method=webrtc > > "foo" is the name of the new sink, and "master" is the name of the sink > where the filtered audio will be forwarded. Use "pactl list sinks" to > find the correct name for the master sink name, or leave the > sink_master argument out to use the default sink. > > If you only want to test noise suppression, you might want to disable > some of the filtering that is enabled by default. For this, pass the > aec_args argument to the module. The contents of aec_args are a string > with space-separated key=value values, like this: > > aec_args="arg1=val1 arg2=val2" > > The supported arguments aren't currently properly documented, but maybe > you can figure them out from the code: > https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/echo-cancel/webrtc.cc > > The "valid_modargs" array defines the supported keys (line 61), and to > figure out what is enabled by default, see the constants defined from > line 43 onwards. To add to what Tanu said, there is echo-cancel-test that takes raw audio and runs the canceller offline. It takes the same set of modargs. Depending on your input/output formats, you might need to tweak that test code a little (it's in the same file as the core code, module-echo-cancel.c). -- Arun