![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音频算法
memath
音频算法前处理3A,回声消除aec,啸叫抑制(声反馈抑制),噪音抑制(ns),vad,agc
展开
-
speex线性回声消除“单波滤器“原代码bug
我们都知道speex的线性回声消除是双波滤器结构,但是经常都只是默认使用双波滤器。由于在嵌入式上使用时,还是想尽量减小运算量,所以想着只使用单波滤器看下,发现完全消除不了回声。最后发现代码中的一点小bug。直接上图。单双波滤器效果对比图双波滤器结构在双讲段表现好些,不会有多余的杂音(类似混响)产生。使用单波滤器后,总体运算量还是比较大,只能作为参考用。...原创 2021-11-08 18:59:49 · 496 阅读 · 4 评论 -
语音深度学习降噪与传统降噪
以下只针对语音的深度学习算法,场景对比: 目前深度学习已经广泛应用于手机,voip,对讲机,TWS蓝牙耳机,算法也一步步完善,但是在个别场景还有待提升,总体效果比传统好得多,深度学习单麦克风可以跟传统双mic pk,还比其好,当然深度学习也有一定局限性,信噪比太低,效果也不行(比如-5dB以下,这时也得借助麦克风阵列才会比较好的效果),至于个别厂商3麦克风传统也有比较好的效果,总体传统算法+麦克风阵列还是有比较好的效果(这个是建立在多个麦克风基础上的)。深度学习降噪一些场景不行(比...原创 2020-10-26 10:00:08 · 2371 阅读 · 4 评论 -
speex与webrtc回声消除小结
回声消除AEC包含: 延时估计对齐+线性自适应滤波器+NLP(双讲检测、处理)+舒适噪声CNG一、speex aec1、没有NLP2、只考虑实时DSP系统,即是没有延时对齐等3、自适应滤波(MDF)使用双滤波器结构,自适应滤波器因子自动更新二、webrtc aec1、双讲检测没有,双讲时远端的声音会消没了2、PBFDAF,固定自适应因子 0.63、抑制是使用相关性技术,近端误差,近端远端,由低...原创 2017-08-25 09:42:21 · 15746 阅读 · 12 评论 -
QQ、YY与webRTC回声消除效果对比分析与展望
1、测试环境:PC 测试环境组装电脑,windows 7 旗舰版 intel n2800 1.86GHz 2G RAM测试麦克风:SENICC SM-008 测试扬声器:颠屁虫单讲为只在远端说话,双讲为近端用手机播放朗读文章,远端说话。 近端环境:大概12平方米,扬声器背向麦克风,两者距离是约40cm2、测试版本 QQ版本:QQ8.9.6(22404) YY 8.30....原创 2017-11-30 09:47:22 · 6764 阅读 · 0 评论 -
webrtc aec3效果对比aec与aecm(webrtc M64 20180115版本)
1、webrtc回声消除算法aec3也出来有几个月了,下面看下最新版的aec3效果,使用读文件仿真,例子为webrtc中的audioproc_f.exe,aec3,aec,aecm均使用默认参数,没有改动。在cmd中使能aec3参数audioproc_f -i D:\Git\webrtc-checkout\src\out\Debug\mic.wav-ri D:\Git\webrtc-checkou...原创 2018-01-16 10:12:21 · 13947 阅读 · 26 评论 -
回声消除答疑
0问:为什么使用回声消除? 答:比较常见的应用场景,a与b打电话,a端手机开启免提,这时b端传过来的声音就会通过电话的扬声器向外播放,这时手机的麦克风就可能会采集扬声器出来的声音,若是没有回声消除功能模块,b端就会听到自己的声音从a端传回来,影响了正常通话。再如微信的视频通话,都有回声消除模块起了作用。1问:回声消除有什么开源代码? 答:主要有webrtc的aec,ae...原创 2018-04-27 11:07:21 · 3798 阅读 · 10 评论 -
使用webrtc采集笔记本音频内部mic左右声道“已坏”的坑
笔记本采集的内部mic有问题,webrtc双声道转换为单声道时,使用内部mic时 webrtc采集基本到没有声音了,外接mic就有声音出来。这个问题是由于笔记本的声卡是双声道的,当采集的左右声道差不多互为相反数时,按StereoToMono函数输出的单单声道的声音就很小,放大20dB都几乎听不到声音。这个可能为我的联想20054笔记本的声卡的双声道出了问题?(其它笔记本没有发现这个问题,都正常原创 2018-01-10 15:33:47 · 879 阅读 · 2 评论 -
反馈抑制器技术
一般声反馈MIC通过音箱放出来的声音再次被MIC采集,从而再次放大不断循环达到音箱的极限后形成了啸叫。反馈抑制器技术(啸叫抑制):现在用的有三种:移频技术,陷波器技术,自适应滤波器处理。 移频的话计算量最小,我们知道所有信号都可以看成正弦信号叠加而成,只需要用到Hilbert变换FIR滤波器即可以实现。ti 5509定点DSP上实现移频算法,移5Hz的频率,效果只能提升3dB左右增原创 2017-03-15 15:31:11 · 4088 阅读 · 1 评论 -
反馈抑制器使用场景与市场
反馈抑制器使用场景:场景一:一个推销员带着耳夹麦,腰部挎着一个小喇叭,边喊边推销自个的产品,虽说是个开放的环境,但是耳夹麦与小喇叭的距离太近,也不可必免产生啸叫。场景二:联欢晚会现场,歌手在舞台又唱又跳,大声欢歌,可能是在大会议室,也可能在广场上;致使在广场上,音箱也一般放在舞台边上面向观众,由于歌手走动时,麦克与音箱距离也有比较近的时候,产会产生啸叫。场景三:在约50平米的教室上课,...原创 2018-01-30 12:19:59 · 1701 阅读 · 0 评论 -
speex使用陷波器去直流
speex使用filter_dc_notch16函数去除直流,其系统函数为: matlab代码:NLen = 1000; fs = 16000; radius = 0.982; den2 = 0.9646; a2 = [1 -2*radius den2]; b2 = [1*radius -2*radius 1*radius];[h1,w1] = freqz(b2,a2,NL...原创 2017-10-27 14:14:02 · 2591 阅读 · 10 评论 -
speex回声消除源码解读
一、speex回声消除aec小析: 频域自适应算法采用了分块处理的思想,以减少高阶自适应滤波器的计算复杂度,多延迟自适应滤波器(MDF)则更一般可以分M块来处理,其中块的长度比自适应滤波器的阶数更小。 后置滤波器系数一直在更新,单讲时前置滤波器用后置滤波器系数更新,双讲时前置滤波器系数不更新。 如果近端远端的数据线性比较好的话,用speex处理回声效果还不错原创 2018-01-22 14:22:13 · 8452 阅读 · 15 评论 -
声反馈抑制使用matlab/simulink仿真
第一份工作时做啸叫抑制的仿真,调大0.3可以有大的啸叫产生,下图的simulink仿真模型。实现移相有多种方法: 1、iir实现 2、FFT实现 3、使用FIR实现所有信号均可以由正弦信号叠加而成。原创 2017-10-27 15:29:10 · 3084 阅读 · 8 评论 -
webrtc vad小bug
当channel为5的时候offset为80,再进行下面的操作smallest_values[j + 1]将会越出数组的限界到”第97个“;应该将下图的16改为15 low_value_vector数组定义如下:原创 2017-10-27 11:18:22 · 642 阅读 · 0 评论