APP下载

一种基于语音端点检测的维纳滤波语音增强算法

2016-09-14李战明尚丰

电子设计工程 2016年2期
关键词:维纳滤波端点先验

李战明,尚丰

(兰州理工大学 甘肃 兰州 747300)

一种基于语音端点检测的维纳滤波语音增强算法

李战明,尚丰

(兰州理工大学 甘肃 兰州747300)

在基于先验信噪比的维纳滤波语音增强算法的基础上,结合语音端点检测算法,本文提出一种新算法。新算法在语音端点检测的基础上,通过平滑处理更新噪声信号功率谱以适应噪声不稳定的环境;通过计算有声段噪声信号估计值,将有声段的噪声影响纳入考虑范围;通过每个语音段自适应调节噪声功率谱,实时的计算出先验信噪比。最后将该算法与改进前算法进行仿真比较验证,该算法有更好的语音增强效果,在非稳定噪声环境中较好的抑制了噪声残留,提高了语音的可懂度。

语音端点检测;语音增强;噪声功率谱;维纳滤波

语音增强是利用某种算法抑制噪声的干扰,提高语音的信号质量。语音增强算法可以去除噪声,也可以称为语音去噪,它被广泛的应用到网络、手机、助听器等领域中,是近年来发展较快的一种语音技术[1]。

基于短时谱估计的语音增强算法具有适用信噪比范围广、实时性较强、算法计算量不大等特点,是应用范围最广泛的语音增强算法。基于短时谱估计的算法有谱减法、维纳滤波法、最小均方误差法等,传统的算法在不同程度上存在残留噪声大、语音失真严重等问题。Ephriam等人[2]提出在计算滤波器传递函数时引入先验信噪比,并对先验信噪比进行估计,从而有效的抑制残留噪声。文献[3-4]中对上述方法进行了改进,通过计算无语音期间噪声的统计平均来计算当前帧的先验信噪比,这显然是不够的。上述方法在噪声变化范围不大或者噪声稳定的环境下能有效的进行语音增强,但是在噪声变化范围较大、低信噪比环境下效果不是很明显。

本文首先介绍了维纳滤波语音增强算法的基本思路,在推导先验信噪比和后验信噪比的基础上结合语音端点检测算法(VAD)提出了一种新的维纳滤波语音增强算法。通过仿真实验,比较了改进前算法和改进后算法以及常用的谱减法,实验结果表面改进后算法提高了增强效果,更有效的抑制了噪声,提高了语音质量。在最后的客观评价法与主观评价法打分后证明改进算法有更好的效果。

1 未改进的维纳滤波语音增强算法

设带噪语音为y(n)=s(n)+d(n),式中,s(n)为语音信号;d(n)为噪声信号。只有带噪语音信号为可测信号,维纳滤波方法的基本思路就是设计一个数字滤波器h(n),当输入y(n)为时,滤波器的输出为:按照最小均方误差准则有均方误差达到最小。由于噪声与语音互不相关,取傅里叶变换后可以导出:,有了维纳滤波的谱估计器H(k)后,计算在频域第k个频点上语音频谱的估算值,Y(k)是带噪语音在频点上的频谱值。由于语音只是短时平稳的且功率谱无法得到,故,同除Pd(k)可得:

式中,下标i表示第i帧,式(3)表明,有第i-1帧的先验信噪比及第i帧的后验信噪比可求出第i帧的先验信噪比,即可求出本帧的维纳滤波器传递函数:

2 改进后的算法

在基于先验信噪比的维纳滤波法中,需要估计当前帧的噪声功率谱,改进前的算法是将无声段的统计平均当做噪声功率谱[3-4],这种假设仅适用于环境噪声不变或者变化较小的情况,很显然这种假设不是全面的。未改进的算法对于抑制不变的环境噪声效果较好,但是在噪声不稳定的环境下效果不佳。为了解决上述问题,本文提出新的改进算法。首先对带噪语音进行语音端点检测[5-6](VAD),分辨出无声段和语音段;然后在每个语音段前的无声段开始部分(取NIS帧)计算噪声功率谱的初值,通过平滑处理噪声功率谱初值与无声段噪声功率谱不断更新噪声功率谱,得到最新的无声段用噪声功率谱;最后在有语音段中,用带噪功率谱减去语音功率谱估计值得到有声段中的噪声功率谱估计值。新算法考虑了环境噪声的变化,通过更新噪声功率谱来适应环境噪声的变化,考虑了有声段噪声的影响,使噪声功率谱涵盖噪声更全面,在一定程度上改善了之前算法仅适用于稳定噪声的缺陷,并有效的消除了残留噪声。

首先进行语音端点检测(VAD),确定语音开始端点,在无声段中的开始部分取一小段(NIS帧)计算噪声平均功率谱初值:

在之后的无声段进行平滑处理,更新噪声功率谱:

式中,Pgi(k)是第i帧噪声功率谱估计值,Pgi-1(k)是第 i-1帧噪声功率谱估计值,NoiseLength是设置的噪声平滑区间长度。

用Pvi(k)来更新噪声功率谱,将有声段的环境噪声也考虑进去。由于Pvi(k)是二次估计

所得,误差较大,所以在更新噪声功率谱时平滑区间长度NoiseLength要比无声段的大。通过这样的调整,可以较好的滤除变化较大的不稳定噪声。

图1 叠加粉红噪声后维纳滤波仿真结果Fig.1 The result of superimposing pink noise Wiener filter simulation

改进算法的具体实施步骤为:

1)带噪语音为y(n),加窗分帧后为yi(n),相邻窗之间有重叠,并进行FFT,求出幅度谱|Yi(k)|和相位谱θi(k),并保存;

2)语音端点检测,在无声段开始处取NIS帧计算初始噪声功率谱

3)用式(6)更新噪声功率谱估计值Pc(k),直到有声段开始;

4)在有声段通过式(7),计算Pvi(k),通过新的平滑系数平滑得到噪声功率谱估计值;

6)通过式(4)求得维纳滤波器函数Hi(k),可以导出

8)语音端点检测到有声段结束端点,清零并重复步骤(1)。

3 仿真实验结果

改进算法后在MATLAB中进行仿真比较,将作者的青年男音“兰州理工大学”叠加0dB粉红噪声后仿真结果如图1。

为了说明一般性,录制男女各10人,样率为8 000 Hz、16bit量化的纯净语音信号,叠加不同信噪比白噪声和粉噪声,以对比改进前与改进后算法的效果。用客观评价方法信噪比对比以及对数倒谱距离法LCD[7],改进后的算法效果优于之前的算法及谱减法,如表1、表2所示。

从表1和表2中可以看出,与语音端点检测算法结合的维纳滤波法在整体信噪比评价与LCD评价中效果要好于改进前的算法。

选取听力正常的十个人进行MOS[8-11](Main Opion Score)主观打分并取平均值,由于影响MOS得分的条件除语音增强效果外,还要考虑语音失真的影响,表3所示新算法在语音失真的消除上也有一定效果

表1 不同算法改善的信噪比对照表Tab.1 The comparison of different algorithm improvement in SNR

表2 不同算法增强后倒谱距离对照表Tab.2 The comparison of different algorithm improvement in LCD

表3 不同算法的MOS评价Tab.3 The evaluation of different algorithm

4 结 论

本文提出了一种基于语音端点检测算法的维纳滤波法,与传统的维纳滤波法相比,不仅提高了信噪比,在语音失真的消除方面也有较好的效果。在非稳定噪声环境下,新算法仍有较好的增强效果。

[1]Lim J S,Oppenheim A V.Enhancement and bandwidth compression of noisy speech[C]//Proceedings of the IEEE,1979,67:1586-1604.

[2]Ephraim Y,Malah D.Speech enhancement using a minimum mean-square error log-spectral amplitude estimator[J].IEEE Trans on Acoustics,Speech,Signal Processing,1985,ASSP-32:443-445.

[3]Scalart P,Vieira-Filho J.Speech enhancement based on a priori signal to noise estimation[C]//Proc 21st IEEE Int Conf Acoust Speech Signal Processing,Atlanta,GA,1996,2(2): 629-632.

[4]Cohen I.Speech enhancement using a noncausal a priori SNR estimator[J].IEEE Signal Processing Letters,2004(9): 725-728.

[5]Shen J,Hung J,Lee L.Robust Entropy-based Endpoint Detection for Speech Recognition in Noisy Environments[C]// Proceeding of International Conference on Spoken Language Processing.Sydney:[s,n],1998:232-238.

[6]王琳,李成荣.一种基于自适应谱熵的端点检测改进方法[J].计算机仿真,2010,27(12):373-375.

[7]陈国,胡修林,张蕴玉,等.语音质量客观评价方法研究进展[J].电子学报,2001,29(4):548-552.

[8]Pachl W,Urbanek G,Rothauser E.Preference evaluation of a large set of vocoded speech signals[J].IEEE Transaction on Audio and Electronics,1971,19(3):216-224.

[9]肖锋.维纳滤波在退化图像恢复中的应用研究[J].电子设计工程,2011(8):173-175.

[10]李轩,韩笑,关庆阳,等.基于滤波方法的OFDM信道估计研究[J].电子设计工程,2014(12):145-147,151.

[11]周小军,谭薇,张燎,等.遥感图像常用去噪方法[J].工业仪表与自动化装置,2015(3):69-72.

A wiener filtering speech enhancement algorithm based on speech endpoint detection

LI Zhan-ming,SHANG Feng
(Lanzhou University of Technology,Lanzhou 747300,China)

Based on the Wiener filtering speech prior SNR enhancement algorithm,this paper proposes a new algorithm combined with the speech endpoint detection algorithm.Based on the speech endpoint detection algorithm,the new algorithm updates the power spectrum of the noise signal by smoothing the power spectrum in order to adapt to the noise and unstable environment;The new algorithm takes the influence of the noise into account by calculating the estimate value of the sound segment noise,and calculates the priori SNR in real time by each sound segment adaptive noise power spectrum.Finally,compare the algorithm and improved algorithm by simulation verification,the improved algorithm suppresses the residual noise in the unstable noise environment,and improves the speech intelligibility.

voice activity detection;speech enhancement;noise power spectrum;wiener filtering

TN912

A

1674-6236(2016)02-0042-03

2015-03-13稿件编号:201503189

李战明(1962—),男,陕西西安人,教授、博导。研究方向:复杂系统的建模与控制,神经模糊系统与软计算,智能信息处理与模式识别,计算机控制系统的理论与工程等。

猜你喜欢

维纳滤波端点先验
非特征端点条件下PM函数的迭代根
基于无噪图像块先验的MRI低秩分解去噪算法研究
不等式求解过程中端点的确定
多级维纳滤波器的快速实现方法研究
自适应迭代维纳滤波算法
基于自适应块组割先验的噪声图像超分辨率重建
基于多窗谱估计的改进维纳滤波语音增强
基于维纳滤波器的去噪研究
康德审美判断的先验演绎与跨文化交流
基丁能虽匹配延拓法LMD端点效应处理