一、 应用场景
双向通信中扬声器播放出来的声音被麦克风拾取后发回远端,被称为“回声”。
产生回音的原因是什么呢?是由于近端发送出的声音在远端进行传播,再进入远端麦克风,让近端发声人听到自己的声音。
单方同时说话(单讲)
以同一时间只有一端讲话为例,单讲“回声”产生示意图,如图1所示。
双方同时说话(双讲)
图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 经过快鱼回声消除算法处理后效果
评价指标:
1. 当回声路径有明显的非线性时变特征时,回声消除后的语音质量;
2. 当存在双讲时,回声消除后的语音质量评估;
3. 能否应用在嵌入式设备(对讲设备)上,保证实时的处理效果;
4. 按照表1的标准进行MOS打分。
单讲(仅B端说话) | 双讲(A、B端同时说话) | AEC 效果 |
完全听不到回声或尾音 | 对端声音清晰透彻,且连续无抑制 | S-优秀 |
偶尔可以听到尾音 | 偶尔抑制,但连续无掉字 | A-可用 |
偶尔可以听到回声,但很快收敛 | 偶尔抑制,但连续无掉字 | B-基本可用 |
听到回声后无法收敛 | 有抑制,存在掉字的情况 | C-不可用 |
从始到终都有回声 | - | D-不可用 |
经过对大量录音的主观测试打分,得到比对评价如表2所示。
使用的算法 | 效果 | |
传统AEC | WebRTC AEC | S |
Speex AEC | A | |
KYAEC | A | |
神经网络 | KYAIAEC | S+ |