我在android中成功集成了speex aec(集成在Android/frameworks/av/media/libeffects/preprocessing)。
当我使用 8k 和 11k 的采样率进行捕获时,回声正在消除。但当我采用更高的捕获采样率(例如 16k、22k、32k 等)时,它的效果会更差。
我仅使用 speex 重采样器对我的输入数据进行重采样。我不知道为什么 Echo 不能以更高的采样率取消。
谁能解释一下解决方案?
最佳答案
根据您在 8kHz 上捕获的数据,问题有两个方面:(1) 近端信号与远端信号几乎没有延迟(或者甚至更早一点!)。在近端信号起作用之前添加一个短暂的延迟(例如 10 毫秒)。 (2) ERL大于-12dB。因此,您应该配置 AEC 模块以设置某种配置项,例如大于 12dB 的“worstExpectedERLdB”。
关于android - 在具有更高采样率的 Android 中,Echo 没有通过 speex aec 取消吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674740/