QQ、YY与webRTC回声消除效果对比分析与展望
2017年11月30日 09:47:22
memath 阅读数:2019 标签:
webrtc 回声消除 QQ yy 更多
个人分类:
音频算法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/memath/article/details/78668514
1、测试环境:PC
测试环境组装电脑,windows 7 旗舰版
intel n2800 1.86GHz
2G RAM
测试麦克风:SENICC SM-008
测试扬声器:颠屁虫
单讲为只在远端说话,双讲为近端用手机播放朗读文章,远端说话。
近端环境:大概12平方米,扬声器背向麦克风,两者距离是约40cm
2、测试版本
QQ版本:QQ8.9.6(22404)
YY 8.30.0.0 r1819457
WebRTC VoiceEngine 4.1.0引擎基于WebRTC的voe_cmd_test工程点对点测试
3、参数设计:默认
QQ默认是开启回声消除与降噪的,自动增益通过下图调节。
yy也采用默认参数,如下图所示:
由QQ提供的信息,可知其使用gips音频技术
4、测试结果
在我的测试环境下,QQ单讲时会有漏回声的情况,比如说“1,2,3,4,5,6,7”明显听到最后一个字“7”的回声。双讲时也有回声,但是远端过来的声音明显比回声大且音质没有改变。
YY测试,单讲效果好,双讲远端的声音会有影响,mic与扬声器靠得越近以及它们非线性,影响越大。
WebRTC测试,agc关,ns打开,单讲效果好,双讲时近端有些字会被消掉了。
5、结果分析
QQ(gips)这种单双讲都会有漏回声,但是其音质保持非常好(基本没有影响),其背后使用的技术还是值得去研究。由QQ的版权信息其使用gips音频技术,估计WebRTC(google收购gips后开源的)与QQ使用gips回声消除的技术是有差异的。
YY的回声消除大体的做法可能跟WebRTC类似,可能加上双讲处理,细节方面改进(个人猜测)。
WebRTC使用线性回声消除加非线性处理,没有单独单双讲判断及处理。
6、展望:
回声消除算法大部分都是基于speex与WebRTC AEC基础上改造,大部分的技术都是基于这两者。WebRTC AEC3已经发布,具体效果我还没有测试,不知道是否有新的技术使用。现在都在频域做处理,按WebRTC AEC只做128点FFT,分辨率不够?线性回声处理部分怎样才能极大消除回声?基于相关性做复杂转换后再抑制是否有更好的方案呢?双讲提升同时防止漏回声情况?现在回声消除主要问题都是围绕着双讲效果来做了。由于麦克风及扬声器等产生非线性的影响,只能在同等条件下提升双讲效果了。
7、备注:
以上的效果评价及分析是基于自己所测试的环境及设备给出。
仅供参考。不当之处,请指正。谢谢。
回声消除答疑speex与webrtc回声消除小结webrtc aec3效果对比aec与aecm(webrtc M64 20180115版本)