回声是您自己的声音回荡的声音。如果这种声音的振幅很高并且间隔超过 25 毫秒,就会对谈话造成干扰。它的类型可以是声学的或混合的。回声消除器需要消除回声,同时仍保持通话质量并且不会干扰 DTMF 等音调。
回声
通常背景噪声或反射噪声是一种不需要的语音带能量,会从扬声器传输到麦克风并进入通信网络。主要出现在免提装置或免提电话中。在多方通话场景中,由于音量级别不匹配、一方的网络条件具有挑战性、背景噪音、双人通话甚至用户与麦克风之间的距离太近,也可能会发生这种情况
PSTN 电话中的混合/电子回声
在公共电话系统中,本地环路布线是使用承载双向语音信号的双线连接完成的。在 PBX 中,二到四线转换是使用混合电路完成的,该电路不执行完美的阻抗匹配,从而导致混合回声。
回声消除
一个高效的回声消除器应该在不导致任何数据包丢失的情况下消除整个回声尾部。它需要适应不断变化的 IP 网络带宽,并且算法应该在可能有多个回声源的会议场景中同样发挥作用。MOS(平均意见得分)等基准测试工具用于衡量结果。通常语音质量增强技术也被集成到 AEC 模块中,例如:
- 自动增益控制(AGC),
- 降噪
- 舒适噪音发生器 (CNG)
- 非线性处理器
- SS& 和 DTMF 音调禁用器
WebRTC 回声消除
WebRTC 现在主动检测并消除回声,尤其是本地系统回声共振。
WebRTC 中的噪声抑制
噪音抑制功能会自动过滤音频以消除背景噪音。
自动增益控制 (AGC)
AGC 作为电路工作。当平均音频电平较低时,电路将其升高,如果音频电平较高,则电路将其降低。
- (+) AGC 使用户无需手动调整音频电平。
- (-) 在暂停期间,agc 也会尝试将音频电平调至标准设置,使背景噪音变大。
- (-) 随后的音频处理使增益控制逐渐变差。
音频压缩器:由于 AGC 的缺点,音频压缩器通过查看声音的振幅来进行更复杂的操作。
(-) 不适合声音振幅变化的音乐。
音频峰值限制器:限制器只是防止音频超过设定的最大电平。
(+) 非常适合避免响亮的噪音(例如关门声)进入处理管道。
音频扩展器:增加过度处理的音频的动态(响度)范围。
(+) 适用于过度压缩的音频传输,例如卫星中继
音频滤波器:衰减高于或低于音频范围内某些点的音频。
webRTC 中的 AGC
navigator.mediaDevices.getSupportedConstraints();
aspectRatio: true
autoGainControl: true
brightness: true
channelCount: true
colorTemperature: true
contrast: true
deviceId: true
echoCancellation: true
exposureCompensation: true
exposureMode: true
exposureTime: true
facingMode: true
focusDistance: true
focusMode: true
frameRate: true
groupId: true
height: true
iso: true
latency: true
noiseSuppression: true
pan: true
pointsOfInterest: true
resizeMode: true
sampleRate: true
sampleSize: true
saturation: true
sharpness: true
tilt: true
torch: true
whiteBalanceMode: true
width: true
zoom: true
参考资料:
- https://webrtc.org/blog/2011/07/11/webrtc-improvement-optimized-aec-acoustic-echo-cancellation.html
- http://www.ti.com/lit/wp/spraal1/spraal1.pdf
- https://www.adaptivedigital.com/vqe-suite/echo-cancellation-explained/
- Mozilla 文档https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/noiseSuppression
源自altanai.
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/13234.html