X
010-82001010
liu@kuaiyu.com

AEC声学回音消除技术

一、 应用场景

双向通信中扬声器播放出来的声音被麦克风拾取后发回远端,被称为“回声”。

产生回音的原因是什么呢?是由于近端发送出的声音在远端进行传播,再进入远端麦克风,让近端发声人听到自己的声音。

图1 单讲“回声”产生示意图

单方同时说话(单讲)

以同一时间只有一端讲话为例,单讲“回声”产生示意图,如图1所示。

图2 双讲“混音”产生示意图

双方同时说话(双讲)

图2中A端说“Hi~”,A麦克风采集到后经过传输路径的延时和非线性变换为“Hi~”从B的扬声器播放,在B房间内与B端说“你好!”一同被麦克风采集,经过传输路径后从A端的扬声器被播放,这样就会让A端听到“你好!”与自己的“Hi~”混合声音,使用感受很差。(这样的声学回路还会让声音循环往复,当扬声器增益大,会使得系统发散产生啸叫。)

二、 回声消除

有2个原始声音采样,IGB和MIC

1、房间B(男)的扬声器接收到房间A(女)发送过来的声音,这一信号为回声消除参考信号IGB采样;

2、房间B(男)的话筒拾取到自己的声音与房间A(女)通过扬声器传来的声音,作为MIC采样

3、声音被送到内置回音消除算法(使用自适应滤波或神经网络方法)的设备中,从MIC采样中移除房间A(女)的IGB采样,仅剩房间B(男)端声音,通过扬声器发送回房间A,从而提升听感效果。

预期效果:

单讲场景(双方串行说话):房间B(男)听不到从房间A(女)的话筒传来(由房间A扬声器发出的)自己的回声。

双讲场景(双方同时说话):A、B房间听到扬声器播放的声音均无参杂自己的回音

效果对比(房间A播放效果)

WebRTC 算法处理

初期回音有残留,远端音明显损伤

Speex 算法处理后效果

初期回音有残留,远端音有轻微损伤

KYAEC 经过快鱼传统算法处理后效果

回音残留少,远端音有轻微损伤

KYAIAEC 经过快鱼回声消除算法处理后效果

残留少,音质佳,在单讲和双讲时都有很好的表现,效果胜于目前的传统算法Webrtc、Speex

评价指标:

1. 当回声路径有明显的非线性时变特征时,回声消除后的语音质量;

2. 当存在双讲时,回声消除后的语音质量评估;

3. 能否应用在嵌入式设备(对讲设备)上,保证实时的处理效果;

4. 按照表1的标准进行MOS打分。

单讲(仅B端说话) 双讲(A、B端同时说话) AEC 效果
完全听不到回声或尾音 对端声音清晰透彻,且连续无抑制 S-优秀
偶尔可以听到尾音 偶尔抑制,但连续无掉字 A-可用
偶尔可以听到回声,但很快收敛 偶尔抑制,但连续无掉字 B-基本可用
听到回声后无法收敛 有抑制,存在掉字的情况 C-不可用
从始到终都有回声 -

D-不可用
表1 AEC效果评估标准

经过对大量录音的主观测试打分,得到比对评价如表2所示。

  使用的算法 效果
传统AEC WebRTC AEC S
Speex AEC A
KYAEC A
神经网络 KYAIAEC S+
表2 AEC测试结果对比