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