我在android中成功集成了speex aec(集成在Android / frameworks / av / media / libeffects / preprocessing中)。
当我使用8k和11k的采样率进行捕获时,Echo正在取消。但是当我采用更高的捕获采样率(如16k,22k,32k等)时,它的工作情况更糟。
我只使用speex resampler重新采样输入数据。我不知道为什么Echo没有以更高的采样率取消。
有人可以为此解释解决方案吗?
答案 0 :(得分:3)
根据您在8kHz上的捕获数据,问题在于两个方面:(1)近端信号几乎没有延迟信号(或者甚至更早一点!)来自farend信号。在近端信号工作之前添加一个短暂的延迟(测试10ms)。 (2)ERL大于-12dB。因此,您应该配置AEC模块以设置某种配置项,例如" worstExpectedERLdB"大于12dB。