基于对数MMSE的语音增强算法

  常见的语音增强算法有谱减法,MMSE和维纳滤波等。谱减法虽然实现简单,运算量小,但效果比较差,容易出现刺耳的“音乐噪声”。MMSE和维纳滤波虽然原理较复杂,运算量也相对较大,但效果着实不错,甚至可以完全减除“音乐噪声”。由于实验室需要,对语音增强算法相对有点了解,但不够深入。实验室项目增强部分算法采用的是欧洲ETSI的ASR(自动语音识别)的前端去噪。采用的是两级维纳滤波,对于平稳的噪声语音去噪效果相当可观。官网也给出了C语言的实现和文档说明。虽然程序已移植到项目中,但由于文档主要是介绍了方法和一些经验参数,并没有具体说明为什么这样做,总体感觉就是只知道其中的算法流程。下图是ETSI的两级维纳滤波的程序框图。可以看出这个程序的维纳滤波是在梅尔频域上做的,估计是因为梅尔频率更符合人耳特性吧。就像语音识别中提取的特征参数是梅尔倒谱系数MFCC。

由于想进一步了解下语音增强算法的原理,这段时间着重看了MMSE的实现原理,尤其是对数的幅度谱误差平方MMSE-LSA的原理,并对这个算法进行C语言实现,最终结果与matlab代码一致。下面简要介绍下原理:

根据MMSE-LSA的开山始祖的文章Ephraim, Y. and Malah, D. (1985).《 Speech enhancement using a minimum 
mean-square error log-spectral amplitude estimator.》假设带噪信号y(n) = x(n) + d(n),其中x(n)为纯净信号,d(n)为噪声信号,转换为频域,Y(w) = X(w) + D(w)。根据论文推导出最优的对数MMSE估计器为:

  

其中就是对数MMSE估计器的增益函数。在这个函数中有两个未知量,分别是先验信噪比(可以被看作是第k个频谱分量的实际信噪比)和后验信噪比

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 76
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 76
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值