前面的几篇文章讲了webRTC中的语音降噪.最近又用到了基于MCRA-OMLSA的语音降噪,就学习了原理并且软件实现了它.MCRA主要用于噪声估计,OMLSA是基于估计出来的噪声去做降噪.类比于webRTC中的降噪方法,也有噪声估计(分位数噪声估计法)和基于估计出来的噪声降噪(维纳滤波),MCRA就相当于分位数噪声估计法,OMLSA就相当于维纳滤波.本文先讲讲怎么用MCRA和OMLSA来做语音降噪的原理,后续会讲怎么来做软件实现. 一, MCRA MCRA的全称是Minima Controlle…
ANS(adaptive noise suppression) 是webRTC中音频相关的核心模块之一,为众多公司所使用.从2015年开始,我在几个产品中使用了webRTC的3A(AEC/ANS/AGC)模块.以前仅仅是使用,对其中的算法原理只是初步了解.近半年来,我利用业余时间在看着<语音增强:理论与实践>和<实时语音处理实践指南>这两本书,对降噪算法有了更深的理解,同时又对ANS的代码进行了调试,基本掌握了算法实现.我想把我对ANS的理解写出来.由于内容细节较多,就出一个系列吧…
上篇文章(基于MCRA-OMLSA的语音降噪(一):原理)讲了基于MCRA-OMLSA降噪的原理,本篇讲怎么做软件实现.软件实现有多种方式.单纯看降噪效果可用python,因为python有丰富的库可用,可节省不少时间,把主要精力放在降噪效果提升上.如果要把算法用在产品上就得用其他语言.我们是芯片公司,且我们team偏底层,最常用的语言是C,所以我又用C实现了该算法.本文先讲讲在python下的实现,再讲讲在C下的实现. 一,python下的实现 Python有丰富的库,音频文件读取的libro…
上篇文章(基于MCRA-OMLSA的语音降噪(二):实现)讲了基于MCRA-OMLSA的语音降噪的软件实现.本篇继续讲,主要讲C语言下怎么对数学库里的求平方根(sqrt()).求自然指数(exp()).求自然对数(log())的函数做替换. 1,求平方根 求平方根最常用的方法是牛顿迭代法.下图是y = f(x)的曲线,当f(x) =0时的值(α)就是该方程的根. 可以通过多次迭代逼近的方法求得这个根,原理如下: 任取一个x0,这个值对应的y值为f(x0).在x0处画y = f(x)的切线,与x轴…
最近认真的研读了这篇关于降噪的论文.它是一种利用混合模型降噪的方法,即既利用了生成模型(MoG高斯模型),也利用了判别模型(神经网络NN模型).本文根据自己的理解对原理做了梳理. 论文是基于"Speech Enhancement Using a Mixture-Maximum Model"提出的MixMAX模型的.假设噪声是加性噪声,干净语音为x(t),噪声为y(t),则在时域带噪语音z(t)可以表示为z(t) = x(t) + y(t).对z(t)做短时傅里叶变换(STFT)得到Z(…
上篇(webRTC中语音降噪模块ANS细节详解(一))讲了维纳滤波的基本原理.本篇先给出webRTC中ANS的基本处理过程,然后讲其中两步(即时域转频域和频域转时域)中的一些处理细节. ANS的基本处理过程如下图1: 图1 从图1可以看出,处理过程主要分6步,具体如下: 1)  把输入的带噪信号从时域转到频域,主要包括分帧.加窗和短时傅里叶变换(STFT)等 2)  做初始噪声估计,基于估计出的噪声算先验信噪比和后验信噪比 3)  计算分类特征,这些特征包括似然比检验(LRT).频谱平坦度和频谱…
上篇(webRTC中语音降噪模块ANS细节详解(二))讲了ANS的处理流程和语音在时域和频域的相互转换.本篇开始讲语音降噪的核心部分,首先讲噪声的初始估计以及基于估计出来的噪声算先验信噪比和后验信噪比. 1,初始噪声估计 webRTC中ANS的初始噪声估计用的是分位数噪声估计法(QBNE,Quantile Based Noise Estimation),对应的论文为<Quantile Based Noise Estimation For Spectral Subtraction And Wien…
上篇(webRTC中语音降噪模块ANS细节详解(三))讲了噪声的初始估计方法以及怎么算先验SNR和后验SNR. 本篇开始讲基于带噪语音和特征的语音和噪声的概率计算方法和噪声估计更新以及基于维纳滤波的降噪. 一, 带噪语音和特征条件下的语音概率 先看怎么算带噪语音和特征条件下的语音概率.其中会用到先前算好的先验SNR和后验SNR,也会用到特征条件下的语音概率,从而涉及到怎么算特征条件下的语音概率,有了特征条件下的语音概率后结合先前算好的先验SNR和后验SNR带噪语音和特征条件下的语音概率就好算了.…
基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1c1utFDQ http://blog.sina.com.cn/s/blog_89436e570102w8qs.html http://blog.sina.com.cn/contn 8年后,  中国2024年将统一世界! 呵呵,地球正在从黑暗进入光明.外星人在帮助地球村民! 呵呵,外星人是客观存在的…
ngx_http_proxy_module只能反向代理后端使用HTTP协议的主机.而ngx_http_fastcgi_module只能反向代理后端使用FPM或者使用FastCGI协议的客户端. 一.部署LNMP 1.首先安装必要的包 [root@ELK-chaofeng07 nginx]# yum install php-fpm php-mcrypt php-mbstring php-mysql mariadb-server Loaded plugins: fastestmirror 2.接下来…