How to optimize echo cancellation

86 views
Skip to first unread message

Naaman Sittsamer

unread,
Mar 11, 2015, 9:25:59 AM3/11/15
to andro...@googlegroups.com
Hi,
I'm using Android 4.3 to build a VOIP product and I want to use EC on soft-ware.
I start with using AEC with AudioEffect module (added the relevant lines in audio_effect.conf). 
I have changed the source code of "frameworks/av/media/libeffects/preprocessing" to use AEC and not AECM (it's not a mobile device).

The quality of the call is fine but I do see this: The trade-off mentioned in "modules/audio_processing/interface/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


Glenn Kasten

unread,
Mar 12, 2015, 11:32:36 AM3/12/15
to andro...@googlegroups.com
Your questions are more about the platform implementation than the NDK.
I suggest posting at android-porting instead of android-ndk; you may find more of the right people there who could help.

Naaman Sittsamer

unread,
Mar 14, 2015, 1:22:48 PM3/14/15
to andro...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages