Android 上的回声消除器

Ale*_*tko 2 audio android echo speex webrtc

请分享您在 Android 上使用软件回声消除器的经验:

  1. 内置(我听说是在 v3.0 中出现的)
  2. Speex
  3. 实时时钟
  4. 等等。

Bil*_*Hoo 5

我刚在android上做完AEC的工作,尝试了speex/android-built-in-ec/webrtc-aec和webrtc-aecm(手机上的echo control),最后选择了AECM模块,有几点小窍门:

  1. speex 和 webrtc-aec 不适合在移动设备上运行(由于 CPU 性能低的原因)。
  2. android内置EC工作正常,但效果不理想,还能听到一些回声或大量自激(可能是我用的不对)。并且目前并不是所有的android设备都支持内置EC,所以这种情况被丢弃了。
  3. webrtc-aecm 模块很好,处理一个 10ms 的帧只需要 1~2ms。最重要的是叫做 的东西delay,你应该按照audio_processing.h中 的描述strictly,如果你计算出正确的延迟值,一切都会好起来的。

编辑

  1. 在使用 WebRTC AECM(或 APM)很长时间后,我仍然无法使其在 android 上完美运行。我认为 AECM 需要更多优化,但 Google 似乎没有这方面的计划。无论如何,我会继续关注 Google WebRTC 及其在 Android 上的 AECM(或 AEC)性能。

  2. (2020 年 6 月 23 日更新)请参考我的GitHub 项目的 README,我上面的解决方案在几年前被我自己弃用了。我不想误导别人。