Hello, I've just pushed support for the echo canceller engine from the WebRTC[1] sources to master, and this will ship in PulseAudio 2.0. This is a pretty high quality canceller, and I'm going to continue tweaking module-echo-cancel to do better, so in general it's quite nice to have.
>From the packaging perspective this means two things -- firstly, there's a new dependency on the webrtc-audio-processing[2] library. There's no releases yet, but we'll make one close to the first 2.0 prerelease. This is, for now, mostly just the AudioProcessing bits from the upstream WebRTC code with a packager-friendly autotools build system. We decided to not pull this code into PulseAudio itself to avoid adding ~20,000 lines of C++ code. Which brings me to the second packaging change -- to enable this, you need a C++ compiler while compiling PulseAudio (and libstdc++ or whatever the standard C++ library on your platform is at runtime). The canceller is currently disabled by default (there's a --enable-webrtc-aec configure option now), The way autotools work, I needed to add a C++ compiler as a mandatory configure-time dep. You don't need any of the C++ bits are runtime unless you enable this explicitly. At some point I might switch this to be the default canceller, but there'll still be an option to disable it. Cheers, Arun [1] http://code.google.com/p/webrtc/ [2] http://cgit.freedesktop.org/pulseaudio/webrtc-audio-processing/ _______________________________________________ pulseaudio-discuss mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
