回声:远端的扬声器声音被麦克风采集到,然后传输给你,你听到自己的声音。
先AEC,再NS,最后AGC。
一 AEC:acoustic echo cancellation,回声消除。
经过三个步骤:1 远端和近端的延时预估,即麦克风和扬声器的延时。
(声音的采集线程和播放线程启动时间不同。)
2 自适应线性滤波器:把麦克风的线性回声减去--从扬声器中获得的。
用NLMS(normalized least mean square)。
参数:滤波器长度,步长因子。
3 非线性滤波:把残留的底噪回声过滤掉。
现在用的aec3。双讲存在问题。
二 NS:noise suppression,频域降噪。用的维纳滤波器。
NS会把音乐背景声去掉,一般音乐模式置为false。
三 AGC:automatic gain cotrol,自动增益控制,自动调节音量。采集设备的多样性会导致存在一些问题。
windows用的kAdaptiveAnalog模式。
windows系统用的内置AEC。