created by snowlyg.
通话过程中为什么会产生噪声?
噪声通常来自两类:
通话过程中为什么会产生回声?
回声本质上是“远端播放的声音被近端麦克风再次采集并回传”。在工程上常按回声路径的特性分为:
- 线性回声
- 声音经过直接/间接反射,频率成分与原始信号保持一致,只是幅度和相位发生变化;与原始信号之间存在线性关系。
- 非线性回声
- 通常由设备特性或声学耦合导致:例如扬声器/麦克风频响不一致引起的失真,以及复杂的多径传播、物品摆放、墙面吸音系数等因素造成。
项目中遇到的问题
- 设备为安卓平板,固定安装在墙面上,客户使用距离约 3-5 米(麦克风有效收音距离)。因此通话时,较多 环境噪声 也会被麦克风采集。
- 平板扬声器音量过大可能引起机身 共振,共振产生的噪声同样会被麦克风采集。
- 开启 回声消除(AEC) 后,如果两端设备 采样率 不一致,或麦克风/扬声器功率差异过大,AEC 可能出现失配,进而生成原本不存在的“算法噪声”(常见表现为底噪、抽水声、金属音等)。
如何定位问题原因?
定位“噪声/回声/算法噪声”时,建议按从易到难的顺序,先把现象定类,再逐层拆解链路。
1)先把现象定类(你听到的到底是什么)
- 环境噪声:持续存在,且与现场环境强相关(人走动、开门、风扇/空调)。
- 回声:你能听到自己说话的回放,通常延迟几十到几百毫秒;且与对端音量强相关(对端越大声越明显)。
- 失真/电流声:音量越大越明显;或在特定设备/充电状态下更突出。