文章
当前,主流的回声消除技术主要基于WebRTC所提供的方案,包括AEC3和AECM。然而,这两种方案在实际应用中均存在明显不足:
寻声科技推出的回声消除技术基于传统aec和轻量级ai模型的双引擎架构,它不但具备比webrtc aec3更好的回声消除性能,而且它的运算速度是webrtc aec3的五倍以上,因此它可以在移动设备上以很低cpu占有率轻松的实时运行,适合低功耗的应用场景。此外,它还比传统的AEC更适合于语音识别(ASR)的应用场景。
传统aec引擎使用了最基本的回声消除技术,包括了常用的延时估计,频域分块NLMS滤波器和非线性滤波器,我们对这些传统技术经过优化后再结合一个轻量级AI模型可以使它的回声消除性能超过webrtc aec3,同时我们做了大量针对arm架构的定点优化,使得它的运算量远低于webrtc aec3。
根据上面的架构图,近端输入是麦克风采集到的音频数据,经过传统的NS降噪后再输入给传统的nlms回声消除模块,回声消除模块会结合远端音频数据和近端降噪后的音频数据实现基本的回音消除功能。在nlms回声消除模块中,如果有来自ai引擎的回声消除性能(包括双讲性能)输出,将会根据ai引擎输出的性能自适应调整滤波器系数,进一步反馈给自身的nlms,增强回声消除的效果。
相关的测试工程代码地址https://github.com/seekaudio/webrtc_aec3_demo,工程代码中的seekaudio_aec.h是库的接口文件,根据该接口文件的使用方法调用代码中附带的动态库即可。
另外,我们会通过大量的测试用例来证明它的回声处理综合性能远远大于webrtc aec3 和webrtc aecm. 测试的音频数据大部分来源于微软发起的国际挑战赛(https://github.com/microsoft/AEC-Challenge)所收集的真实语音对讲数据,小部分来源于我们在各种类型嵌入式设备采集的真实语音对讲数据。