回声消除答疑

0问:为什么使用回声消除?

        答:比较常见的应用场景,a与b打电话,a端手机开启免提,这时b端传过来的声音就会通过电话的扬声器向外播放,这时手机的麦克风就可能会采集扬声器出来的声音,若是没有回声消除功能模块,b端就会听到自己的声音从a端传回来,影响了正常通话。再如微信的视频通话,都有回声消除模块起了作用。

1问:回声消除有什么开源代码?

        答:主要有webrtcaecaecmaec3,还有speex

2问:回声消除需要用到什么算法?

        答:线性回声消除用NLMS,PBFDAF,MDF,非线性处理用归一化相关性,舒适噪声生成,延时估计。

3问:为什么有时候漏回声呢(回声消除没有效果)?

        答:读文件效果仿真的话,简单的方法先自己用cooledit手动对齐远端信号,也可以自己加上延时估计;如果是pc点对点测试,测试要在两个不同的房间进行,可以参考webrtc实现方式;如果是android端自已先测试出手机端的延时(也可以参考demo请看网友的安卓demo)。

4问:为什么speex效果没有webrtc好?

        答:memath个人看法,如果远端线性好的话,speex的效果还是不错的;若是远端非线性严重的话,speex效果比较差了,对比这时用webrtc就比较好了。两者差别请看:speex与webrtc回声消除小结 

5问:webrtc aec3效果怎么样?

        答:现在的效果还比较差,以后应该会更新,以前的效果请查看webrtc aec3效果对比aec与aecm(webrtc M64 20180115版本)

6问:双讲检测都有那些方法呢?

        答:最常用是利用相关性,能量,时域特征,其中speex的双讲检测在自适应滤波器部分,也是基于能量判断的。

7问:回声消除的拖尾是什么?
答:市场上一般说回声消除的拖尾为256ms,它其实对应回声消除内部的滤波器长度,能够滤除延时时间为多长的线性回声,对应在内部参数为频段:0.256*48000/128=96,96个滤波处理段(其中48000为采样频率,128为帧长)。

初级的自问自答,由于个人水平有限,不当之处就指正,谢谢。


memath回声消除系列文章:

speex与webrtc回声消除小结 

QQ、YY与webRTC回声消除效果对比分析与展望

webrtc aec3效果对比aec与aecm(webrtc M64 20180115版本)

speex回声消除源码解读


  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值