How to optimize echo cancellation?

743 views
Skip to first unread message

Naaman Sittsamer

unread,
Mar 15, 2015, 1:52:00 AM3/15/15
to discuss...@googlegroups.com
Hi,
I'm using Webrtc code for VOIP calls, and apply echo cancellation with AEC mode (not AECM).
The quality of the call is fine but I do see this: The trade-off mentioned in "audio_processing.h" is really there. If in "aec->set_suppression_level(mode)" we set mode=kHighSuppression then we get very good echo cancelling but poor double talk, but if mode=kModerateSuppression we get good double talk but on single-talk there's a short echo.

It would be great to get some tips of EC optimization. Are there more APIs or parameters to configure?
e.g. I read in this forum that on "aec_core.h" changing NR_PART affects the EC tail, so instead of "12", a value of "64" handles a tail of 256ms. Is that correct?

What can I do more to have both echo suppression and double talk with high quality?

Thanks,
Naaman

Michael Graves

unread,
Apr 16, 2015, 12:32:18 PM4/16/15
to discuss...@googlegroups.com
My understanding is that you probably can't currently achieve what you describe. I have been working on an application that involves continuous, deliberate double talk circumstances. I've found that AEC in Chrome mangles audio in both directions in such cases.

When brought forward and documented it was decided that the current AEC implementation likely could not be tweaked to overcome the problem. An entirely new AEC implementation would be required. A such it was turned from a bug into a feature request. 


Michael
Reply all
Reply to author
Forward
0 new messages