speex与webrtc回声消除小结
回声消除AEC包含: 延时估计对齐+线性自适应滤波器+NLP(双讲检测、处理)+舒适噪声CNG
一、speex aec
1、没有NLP
2、只考虑实时DSP系统,即是没有延时对齐等
3、自适应滤波(MDF)使用双滤波器结构,自适应滤波器因子自动更新
二、webrtc aec
1、双讲检测没有,双讲时远端的声音会消没了
2、PBFDAF,固定自适应因子 0.6
3、抑制是使用相关性技术,近端误差,近端远端,由低频段相关性参数求出gain值
对于aec,webrtc主要依赖NLP,speex主要是自适应滤波器(双滤波器)
三、实际效果对比:如果样本非线性不严重,两者的效果都不错;对于非线性speex效果就很差了,webrtc的效果好;双讲时,webrtc出来的音质就很差,有吃音现象。
至于webrtc的aecm音质差,单讲会有吱吱声。
四、优化点:对webrtc的aec加入双讲检测,双讲处理。
五、由于mic与扬声器对非线性影响比较大,自已硬件产品可以考虑使用比较好的mci与扬声器,极大减少nlp的抑制程度。对于dsp而言,实时性比较好,延时估计对齐可以不要。最后推荐使用webrtc aec。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?