一种改进的维纳滤波语音增强算法
发布时间:2024-10-23
发布时间:2024-10-23
一种改进的维纳滤波语音增强算法
ComputerEngineeringandApplications计算机工程与应用2010,46(26)129
一种改进的维纳滤波语音增强算法
张亮,龚卫国
ZHANGLiang,GONGWei-guo
重庆大学光电技术及系统教育部重点实验室,重庆400030
KeyLaboratoryforOptoelectronicTechnologyandSystemoftheEducationMinistryofChina,ChongqingUniversity,Chongq-ing400030,China
E-mail:wggong@http://
ZHANGLiang,http://puterEngineeringandApplications,2010,46(26):129-131.
Abstract:Animprovedspeechenhancementalgorithmisproposed,whichisbasedonaprioriSNRestimationWienerfilter-ing.Firstly,theinitialnoisepowerspectrumNPSisestimatedbycomputingthestatisticalaverageofthesilentsegments.Next,http://stly,theabruptincreasesinnoiselevelaretakenintoaccountandthepowerspectrumofthenoiseisadjustedadaptivelyaccordingtotherateoftheNSPStoNPS.Theveri-ficationexperimentbetweentheproposedalgorithmandotherspeechenhancementalgorithmwhichbasedonshort-timespec-tralestimationisimplemented.Theexperimentresultshowsthattheresidualnoiseisreducedsignificantlyandthespeechdis-tortion,andthenthespeechintelligibilityareincreased.
Keywords:speechenhancement;Wienerfiltering;aprioriSignaltoNoiseRatio(SNR);decisiondirected摘
要:提出了一种改进的语音增强算法,该算法以基于先验信噪比估计的维纳滤波法为基础。首先通过计算无声段的统计平
均得到初始噪声功率谱;其次,计算语音段间带噪语音功率谱,并平滑处理初始噪声功率谱和带噪语音功率谱,更新了噪声功率谱;最后,考虑了某频率点处噪声急剧增大的情况,通过计算带噪语音功率谱与噪声功率谱的比值,自适应地调整噪声功率谱。将该算法与其他基于短时谱估计的语音增强算法进行了对比实验,实验结果表明:该算法能有效地减少残留噪声和语音畸变,提高语音可懂度。
关键词:语音增强;维纳滤波;先验信噪比;直接判决DOI:10.3778/j.issn.1002-8331.2010.26.040
文章编号:1002-8331(2010)26-0129-03
文献标识码:A
中图分类号:TP391.4
1引言
随着计算机通信技术的迅猛发展,语音信号处理技术的重
和IsraelCohen对Ephriam和Malah提出的方法进行了改进[5-6]。在上述方法中,需要估计当前帧的噪声功率谱,常常只通过计算无声期间的统计平均来估计噪声。但是仅仅依靠无声段来估计噪声,这样的估计过程显然是不够全面的。另外,虽然上述的方法能有效地抑制变化范围不大或是稳定的噪声,但是对实际中的变化范围很广的噪声效果不是很理想。
首先描述了维纳滤波语音增强算法的基本思想,然后对先验信噪比和后验信噪比的计算进行了简单推导,最后提出了一种改进的算法。通过计算机仿真实验,将提出的算法与最常见的谱减法进行了比较。实验结果表明该改进算法有效地提高了增强效果,更好的抑制了噪声,提高了语音质量。
要性日益突出,它被广泛地应用在网络、通信、智能仪表及工业控制领域中,已经成为现代工业发展的一个必备的基本技术[1]。
基于语音短时谱估计的方法具有适用信噪比范围大、方法简单、易于实时处理等优点,尽管研究比较早,但仍有很强的生命力,已成为应用最广泛的语音增强方法。基于语音短时谱估计的增强方法种类繁多,如谱减法、维纳滤波法、最小均方误差法等。
传统的基于语音短时谱估计的方法均不同程度存在着残留噪声大的问题。Ephriam和Malah提出的方法可以有效地抑制残留噪声[2-3]。OlivierCappé在文献[4]中分析了上述方法能有效抑制残留噪声,是因为在计算增益函数时引入了先验信噪比,并采用了“直接判决”法对先验信噪比进行估计。Scalart
2基于先验信噪比估计的维纳滤波语音增强
先验信噪比是语音增强算法中非常重要的参数。通过
作者简介:张亮(1983-),男,硕士,主要研究领域为信息获取和处理;龚卫国(1957-),男,教授,主要研究方向为模式识别及机器视觉、智能化信息
技术及系统。
收稿日期:2009-02-20
修回日期:2010-04-22
一种改进的维纳滤波语音增强算法
1302010,46(26)ComputerEngineeringandApplications计算机工程与应用
æ|Y(ω)|ö
åk
øk=1è
S
2
Ephraim和Malah提出的“直接判决”估计来计算先验信噪比的方法是最有效的和最容易计算的[2-6]。
对于第k帧带噪语音信号:yk(t)=sk(t)+nk(t)
(1)
[7]
|N(ω)|
式中|N(ω)|
2NIS
=(7)
2NIS
表示噪声功率谱的初值,S表示第S帧为语音起始
nk(t)为第k帧加性噪声信号,其中sk(t)为第k帧纯净语音信号,
L表示帧长。帧,
假设sk(t)和nk(t)都是短时平稳随机信号,且二者互不相关。对上式进行傅里叶变换,得到:
Yk(ω)=Sk(ω)+Nk(ω)
其次,从起始帧开始,判断当前帧为语音信号还是噪声信号,更新对噪声功率谱的估计,以便通过式(6)计算先验信噪比和后验信噪比。若是噪声信号,则通过对N(ω)
(2)(3)
根据文献[4],得到对纯净语音信号频谱的估计:
S(ω)=G(ξγ)×Y(ω)
k
k
k
k
||
2NIS
与当前帧
2new
的功率谱做平滑处理,更新对噪声功率谱的估计|Nk(ω)|。
式中Yk(ω)和Sk(ω)分别表示第k帧带噪语音和纯净语音傅里叶变换的估计,G(ξkγk)表示谱增益函数[8-9],其中ξkγk分别表示先验信噪比和后验信噪比。Sk(ω)的相位谱用Sk(ω)的相位谱来近似代替,最后由反傅里叶变换得到降噪以后的语音信号的时域表示:
sk(n)=F-1[Sk(ω)]
|Nk(ω)|new=
2new
2
β×N(ω)
||
2NIS
+|Yk(ω)|
2
(8)
其中|Nk(ω)|表示通过平滑处理后对当前帧的噪声功率谱估计。β为噪声平滑因子。|Yk|为第k帧带噪语音信号的功率谱。
如果是语音信号,通过计算各个频率点带噪语音功率谱与噪声功率谱的比值再次调整噪声功率谱,依次处理当前帧的每个点,更新对噪声功率谱的估计:
ìuNi(ω)2
kïnewïï22ï
Nki(ω)=ídNki(ω)new
ïï2ïïNki(ω)
newî
2
(4)
由此,可以看出,在维纳滤波算法中,关键是对G(ξγ)的求解。基于最小均方误差的判别方法[3],维纳滤波的谱增益函数为:
SNRprioξ
Gω(ξkγk)=k=(5)
kprio
根据“直接判决”的方法
[2,5]
计算先验信噪比和后验信噪比:
||
2ìSk-1(ω)ï
ξ=SNRprio=α.+(1-a)×max[SNRpost-10]2ïk
Nk(ω)ï
(6)í2
ï|Y(ω)|ïγk=SNRpost=k
2
ïNk(ω)î
||
||||||||
2
|Y|(ω)>u|N(ω)|
|Y(ω)|<d|N(ω)|
ik
2
ik
ik
2
ik
2new2new
(9)
其他
||
Yki(ω)分别表示第k帧第i个频率点的噪声上式中的Nki(ω),
||
2
谱功率谱和带噪语音信号的功率谱。通过这样的调整,在一定程度上滤除了变化较大的噪声。
依据改进的算法,具体的实施步骤为:
(1)对分帧后的信号进行端点检测,得到语音信号的起止点NIS;通过无声期间统计平均的噪声方差来估计噪声的功率谱N(ω)
||
2
式中Sk-1(ω)为第k-1帧纯净语音信号的功率谱估计,|Yk(ω)|
||
2
为第k帧带噪语音信号的功率谱,Nk(ω)为对第k帧的噪声功率谱估计[6]。
||
2
||
2NIS
;
(2)从语音信号起始帧NIS开始,判断当前帧为语音信号还是噪声信号。若是噪声信号,通过式(8)对N(ω)
3改进算法
在基于先验信噪比估计的维纳滤波语音增强算法中,需
||
2NIS
与当前
2new
要估计当前帧的噪声功率谱,经典的算法常常只通过计算无声期间的统计平均来估计噪声功率谱,这是假设噪声的功率谱在发声前和发声期间基本没有变化前提下的,这样的估计和假设显然是不够全面的。另外,经典的算法能有效地抑制变化范围不大或是稳定的噪声,但是对实际中的变化范围很广的噪声效果不是很好。
为了解决上述问题,在基于先验信噪比估计的维纳滤波算法基础上,提出了一种改进的算法。本算法对传统的估计噪声功率谱的方法做出了改进,首先在计算无声段信号统计平均得到初始噪声功率谱的基础上,通过平滑处理初始噪声功率谱和带噪语音功率谱得到新的噪声功率谱,弥补了经典算法中仅依靠无声段估计噪声功率谱的不足。其次,通过计算带噪语音功率谱与噪声功率谱的比值,更新噪声功率谱,一定程度上改善了经典算法仅适用于稳定或变化不大的噪声的不足。
首先,对带噪语音进行端点检测确定语音起始帧,并通过
帧的功率谱做平滑处理,更新对噪声功率谱的估计|Nk(ω)|;若是语音信号,进行下一步计算;
(3)通过式(9)依次更新当前帧中每个点的噪声功率谱
|N(ω)|;
i
k
2
(4)根据式(6)计算当前帧的先验信噪比SNRprio和后验信噪比SNRpost;
(5)根据式(5)得到当前帧的G(ξkγk);(6)根据式(3)得到当前帧的Sk(ω);
(7)对Sk(ω)进行IDFT变换,并取其实部作为滤波后的语音信号;
(8)通过对滤波后的语音信号进行连续帧之间的重叠相加,得到重构的纯净语音信号。
4实验结果及分析
为了验证本文提出算法的语音增强性能和效果,利用
NTT语音
一种改进的维纳滤波语音增强算法
张亮,龚卫国:一种改进的维纳滤波语音增强算法2010,46(26)131
库和文献[10]中语音库的20名说话人语音。噪声信号为加性高斯白噪声,通过改变噪声强度得到信噪比不同的带噪语音。噪声信号与语音信号的采样频率均为16kHz,量化精度为16bit。
由于残留的“音乐噪声”对主观测听影响较大,残留噪声越大,MOS得分越低。从表3所示的MOS测试结果中可以看出,相对与传统的谱减法和MMSE法,本文算法的MOS有了较大提高。
对输出语音质量的评价采用客观评价结合主观评价的方法。客观评价方法中,信噪比和分帧信噪比都属于时域客观测度,这类测度仅适用于波形编码系统。因此,本文采用的客观评价方法为坂仓距离(Itakura-SaitoDistortion,ISD)测度和LLR。主观评价采用平均意见得分(MeanOpinionScore,MOS)法。
[11]
5结束语
本文首先介绍了基于先验信噪比估计的维纳滤波语音增
强方法,并在此基础上提出了一种改进的算法。该算法首先通过计算无声段的统计平均得到初始噪声功率谱;其次,计算语音段间带噪语音功率谱,并平滑处理初始噪声功率谱和带噪语音功率谱,更新了噪声功率谱;最后,考虑了某频率点处噪声急剧增大的情况,通过计算带噪语音功率谱与噪声功率谱的比值,自适应地调整噪声功率谱,弥补了经典算法中仅依靠无声段估计噪声功率谱的不足,并在一定程度上改善了经典算法仅适用于稳定或变化不大的噪声的不足。在仿真实验中,采用客观评价结合主观评价的方法对算法性能加以了验证。实验结果表明,该算法能有效地减少语音畸变,提高语音可懂度。
4.1客观实验结果及分析
实验中首先使用NTT语音库中的语音样本进行客观评价
实验,比较了加噪语音,通过谱减法增强后的语音,通过MMSE法增强后的语音和通过本文提出的算法增强后的语音与纯净语音的坂仓距离和对数似然比测度(Log-LikelihoodRatio,LLR)。实验结果见表1和表2。
表1
不同输入信噪比下,增强后的语音与纯净语音的坂仓距离测度
语音类型加噪后谱减法增强后MMSE法增强后本文算法增强后
坂仓距离
SNR=30dB1.77610.51640.42380.2345
SNR=20dB3.06541.98621.75951.6677
SNR=10dB4.64252.66762.49262.3972
参考文献:
[1]LimJS,OppenheimAV.Enhancementandbandwidthcompres-sionofnoisyspeech[C]//ProceedingsoftheIEEE,1979,67:1586-1604.
[2]EphraimY,MalahD.Speechenhancementusingaminimummean-squareerrorlog-spectralamplitudeestimator[J].IEEETransonAcoustics,Speech,SignalProcessing,1985,ASSP-32:443-445.[3]EphraimY,MalahD.Speechenhancementusingaminimum
mean-squareerrorshort-timespectralamplitudeestimator[J].IEEETransonAcoustics,Speech,SignalProcessing,1984,AS-SP-32:1109-1121.
[4]CappéO.Eliminationofthemusicalnoisephenomenonwith
theEphraimandMalahnoisesuppressor[J].IEEETransonSpeechandAudioProcessing,1994,2(2):345-349.
[5]ScalartP,Vieira-FilhoJ.Speechenhancementbasedonapriori
signaltonoiseestimation[C]//Proc21stIEEEIntConfAcoustSpeechSignalProcessing,Atlanta,GA,1996,2(2):629-632.[6]CohenI.SpeechenhancementusinganoncausalaprioriSNR
estimator[J].IEEESignalProcessingLetters,2004(9):725-728.[7]赵力.语音信号处理[M].北京:机械工业出版社,2003.
[8]ArslanLM.ModifiedWienerfiltering[J].SignalProcessing,2006,
86(2):267-272.
[9]XuYao-hua,GuoYing,LiWei,etal.Eliminationofmusical
noisephenomenonwithBurg-basedaprioriSNRestimator[C]//ImageandSignalProcessing,2008,CISP’08,2008,5:328-332.[10]赵靖,龚卫国,杨利平.基于GMM的普通话和四川方言独立文本
的说话人确认研究[J].计算机应用,2008(3):792-794.
[11]易克初,田赋,付强.语音信号处理[M].北京:国防工业出版社,
2000.
表2不同输入信噪比下,增强后的语音与纯净语音的对数似然比测度
语音类型加噪语音谱减法增强后MMSE法增强后本文算法增强后
对数似然比测度
SNR=30dB1.47620.78860.49270.2823
SNR=20dB2.17481.80071.60451.3457
SNR=10dB3.63352.70341.90761.5113
语音失真越小,坂仓距离和对数似然比测度的数值越小。从表1和表2的几种算法增强后语音对比中可以看出:传统的语音增强方法与本文提出的算法都能有效抑制残留噪声。但是与传统方法相比,本文提出的方法效果更加明显,语音失真也较小。
4.2主观实验结果及分析
为了确定客观性能评估,进行了主观评价。语音信号为
数字0~9以及实验室普通话四川方言语音库中的6个句子,分别经过加噪、谱减法增强、MMSE法增强和本文提出的算法增强。在MOS测试中选用20位试听者,要求试听者根据自己的认可度从1~5给出每种测试语音的印象得分,从而得到4种语音信号的平均意见得分。实验结果如表3所示。
表3
测试中3中语音信号的平均意见得分
语音类型加噪谱减法增强后MMSE法增强后本文算法增强后
MOS1.372.122.973.05
上一篇:4.3.1管理制度评审和修订制度
下一篇:ABS外文文献及翻译