GNOME Bugzilla – Bug 615559
echo cancellation
Last modified: 2011-08-22 10:55:38 UTC
It would be nice to have some way to prevent audio feedback in voice and video chats, so that users can use it with computer speakers instead of requiring a headset. At a friend's place, I saw skype doing just that, and was quite impressed.
See also http://en.wikipedia.org/wiki/Echo_cancellation And, in the related links: http://www.rowetel.com/blog/?p=21 (tutorial, with open source sample implementation in C).
Actually, it seems there's a nice library/engine/project for doing exactly this: OSLEC (http://www.rowetel.com/ucasterisk/oslec.html)
Downstream: https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/505468
Related, it seems that it will part of PulseAudio: http://blogs.gnome.org/uraeus/2010/06/24/nlnet-collabora-multimedia-and-echo-cancellation/
This landed in pulseaudio: http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=3dc5469c1fba70aacf545d935f0da49df5a08bc9 <cassidy> bilboed-pi, what will we have to change in Empathy to make use of PA's echo cancellation? <wtay> cassidy, load the module-echo-cancel module, then play to the echo cancel sink and record from the echo cancel source <cassidy> wtay, that needs to be done in Empathy itself (not FS, or gst, or..) ? <wtay> cassidy, I don't think so <wtay> cassidy, you use pavucontrol to set the source and sink <wtay> there is probably a smarter way with profiles or so but I don't know yet how that works
Currently Empathy seems to tag the capture and playback streams with the 'phone' media role. I'm thinking that it would be nice when streams with that role would automatically connect to the echo canceling sink/source when they are available. It's also possible to use the pulseaudio pa_context_load_module() to manually load modules. I don't know if it's wise to do that..
This landed in Pulseaudio and has even been released. Also, Empathy now has an "Echo cancellation" option. I'm closing this bug. Feel free to re-open if I've missed something.