紀(jì)振發(fā),楊 暉, 李 然, 金銀超
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
?
基于短時(shí)自相關(guān)及過零率的語音端點(diǎn)檢測算法
紀(jì)振發(fā),楊暉, 李然, 金銀超
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
傳統(tǒng)的基于短時(shí)能量端點(diǎn)檢測算法,在高信噪比環(huán)境下可以比較準(zhǔn)確地檢測出語音端點(diǎn),但在低信噪比環(huán)境下檢測效果不理想。文中提出了基于短時(shí)自相關(guān)最大值與短時(shí)過零率之積的改進(jìn)算法。利用短時(shí)自相關(guān)最大值可以有效地區(qū)分出語音段和噪音段,利用短時(shí)過零率可有效地檢測出清音信號(hào),將兩參數(shù)相結(jié)合可有效地檢測出低信噪比語音信號(hào)的端點(diǎn)。實(shí)驗(yàn)證明,在低信噪比環(huán)境下該改進(jìn)算法相比短時(shí)能量算法減小了檢測誤差,可以有效地檢測出語音端點(diǎn)。
端點(diǎn)檢測;短時(shí)能量;短時(shí)自相關(guān)最大值;短時(shí)過零率
Technology,Shanghai200093,China)
語音識(shí)別以語音為研究對(duì)象,是語音信號(hào)處理的一個(gè)研究方向,是模式識(shí)別的一個(gè)分支,涉及到生理學(xué)、語言學(xué)、計(jì)算機(jī)科學(xué)及信號(hào)處理等諸多領(lǐng)域,其最終目的是實(shí)現(xiàn)人與機(jī)器進(jìn)行自然語言通信,用語言操縱計(jì)算機(jī)[1]。語音識(shí)別的基礎(chǔ)環(huán)節(jié)是端點(diǎn)檢測, 語音端點(diǎn)檢測是指從包含語音的一段信號(hào)中判斷各語音片段的起止點(diǎn)、區(qū)分純?cè)肼暥魏蛶г胝Z音段[2]。準(zhǔn)確的語音端點(diǎn)檢測不僅可以提高后續(xù)處理(如語音識(shí)別)的正確率和處理效率,還能為后續(xù)處理提供段落分割的依據(jù)[3]。在實(shí)驗(yàn)室高信噪比環(huán)境下,傳統(tǒng)的端點(diǎn)檢測算法可以較好地檢測出語音端點(diǎn),然而在低信噪比環(huán)境下,大多數(shù)端點(diǎn)檢測算法的性能均急劇下降[4-5]。因此在低噪聲環(huán)境下如何提高語音端點(diǎn)檢測的準(zhǔn)確率尤為重要[6]。
目前常用的端點(diǎn)檢測算法有:短時(shí)能量[7]、短時(shí)自相關(guān)[8]、短時(shí)過零率[8]等。利用背景噪聲的短時(shí)能量最低,濁音的短時(shí)能量最高,清音的短時(shí)能量居于前兩者之間的特性[9],在高信噪比環(huán)境下可以有效地區(qū)分出語音和噪聲。但是大量實(shí)驗(yàn)結(jié)果顯示,基于短時(shí)能量的方法在低信噪比和非平穩(wěn)噪聲環(huán)境中,其性能明顯下降[10]。根據(jù)濁音的過零率低,清音的過零率較高[11],可以有效的判斷清音和濁音。利用噪聲段和語音段的短時(shí)自相關(guān)函數(shù)的不同特性進(jìn)行有效區(qū)分語音信號(hào)的噪聲段和語音段。但此方法在低信噪比環(huán)境下,不能將語音的清音很好地表征出來[12]。為此本文將短時(shí)自相關(guān)和短時(shí)過零率相結(jié)合進(jìn)行端點(diǎn)檢測。
1.1預(yù)處理
在語音信號(hào)端點(diǎn)檢測之前,首先要對(duì)其進(jìn)行預(yù)處理。語音信號(hào)的預(yù)處理包括預(yù)加重和加窗分幀。預(yù)加重的目的是提升高頻部分,使信號(hào)的頻譜變得平坦,保持在低頻到高頻的整個(gè)頻段中能用同樣的信噪比求頻譜,以便于頻譜分析或聲道參數(shù)分析[13]。預(yù)加重后進(jìn)行加窗分幀處理。分幀使用漢明窗加權(quán),并采用交疊分幀的方法來實(shí)現(xiàn)。
1.2短時(shí)過零率
短時(shí)過零率就是一幀語音信號(hào)經(jīng)過零電平的次數(shù)[8]。短時(shí)過零率對(duì)疊加不同噪聲的語音信號(hào)效果不同,需要與短時(shí)自相關(guān)等其他參數(shù)相結(jié)合進(jìn)行有效的端點(diǎn)檢測。
1.3短時(shí)自相關(guān)
語音信號(hào)x(n)分幀后的第i幀語音信號(hào)xi(m)的短時(shí)自相關(guān)函數(shù)定義為[14]
(1)
其中,Ri(k)為第i幀的自相關(guān)函數(shù);L為語音分幀后每幀的長度;k為延遲量。短時(shí)自相關(guān)不能較好的檢測清音,需要與其他參數(shù)結(jié)合進(jìn)行有效的端點(diǎn)檢測。
2.1清音和濁音分析
語音信號(hào)一般可分為無聲段和有聲段,有聲段又可以進(jìn)一步分為清音段和濁音段。無聲段是背景噪聲段,濁音段為聲帶振動(dòng)發(fā)出對(duì)應(yīng)的語音信號(hào)段,清音段是空氣在口腔中的摩擦沖擊或爆破而發(fā)出的語音信號(hào)段[9]。為了分析噪音、帶噪清音和帶噪濁音的短時(shí)自相關(guān)特性,運(yùn)用式(1)對(duì)3種語音信號(hào)的一幀信號(hào)分別作自相關(guān)分析,結(jié)果如圖1所示。由圖1(a)可知,噪音信號(hào)的短時(shí)自相關(guān)函數(shù)雜亂無章。由圖1(b)可知,帶噪清音信號(hào)的短時(shí)自相關(guān)函數(shù)無明顯周期性,但也不同于噪聲。由圖1(c)可知,帶噪濁音信號(hào)的短時(shí)自相關(guān)函數(shù)呈現(xiàn)明顯的周期性。另外,每幀噪聲、清音、濁音信號(hào)的峰值最大值相差較大。
圖1 帶噪語音信號(hào)短時(shí)自相關(guān)波形
對(duì)清音和濁音分別作頻譜分析,結(jié)果如圖2所示。由圖2(a)可知,清音語音的多數(shù)能量出現(xiàn)在較高的頻率上,因此清音的過零率較高。由圖2(b)可知,濁音語音的能量主要集中在低頻部分,而且具有高頻跌落的頻譜,因此濁音的過零率較低。
圖2 語音頻譜圖
為了驗(yàn)證短時(shí)自相關(guān)和短時(shí)過零率對(duì)清音段和濁音段的分辨效果,錄取語音“7”,其波形如圖3(a)所示,此語音的前段是清音段,后段是濁音段。其短時(shí)過零率和短時(shí)自相關(guān)函數(shù)最大值如圖3(b)、圖3(c)所示。由圖3(b)可明顯看出清音段的過零率較高;而濁音段的過零率較低。由圖3(c)可知,濁音段的短時(shí)自相關(guān)函數(shù)最大值較大,清音段和背景噪聲段短時(shí)自相關(guān)函數(shù)最大值較小。因此將短時(shí)過零率與短時(shí)自相關(guān)相結(jié)合可以有效的檢測語音端點(diǎn)。
圖3 語音信號(hào)檢測分辨圖
2.2改進(jìn)算法
由以上分析可知,只利用短時(shí)自相關(guān)性對(duì)清音的檢測精度不高,為此引入短時(shí)過零率作為輔助參數(shù),求取語音信號(hào)的短時(shí)自相關(guān)函數(shù)最大值與短時(shí)過零率之積,然后進(jìn)行端點(diǎn)檢測。對(duì)每幀語音信作短時(shí)自相關(guān)函數(shù),結(jié)合式(1)求取每幀自相關(guān)函數(shù)的最大值(Ri,max),其定義為
(2)
每幀語音信號(hào)的自相關(guān)函數(shù)最大值與過零率之積(RZi),其定義為
(3)
其中,Zni為第i幀的短時(shí)過零率。
短時(shí)自相關(guān)參數(shù)可有效的區(qū)分語音段和噪音段,短時(shí)過零率參數(shù)可以有效的判別清音和濁音。此改進(jìn)算法結(jié)合兩個(gè)參數(shù)的優(yōu)點(diǎn),將兩個(gè)參數(shù)相乘結(jié)合為一個(gè)參數(shù)簡化了門限判別運(yùn)算,可有效地避免清音段引起的檢測誤差,更準(zhǔn)確得識(shí)別出語音信號(hào)端點(diǎn)。
基于短時(shí)能量的端點(diǎn)檢測算法對(duì)高信噪比語音信號(hào)有絕對(duì)準(zhǔn)確的檢測結(jié)果,所以基于短時(shí)能量算法檢測出的端點(diǎn)適用于作為對(duì)比標(biāo)準(zhǔn)。對(duì)于本文提出的改進(jìn)算法,首先要保證其對(duì)于高信噪比的信號(hào)有較高的檢測正確率。為此,錄取100個(gè)高信噪比語音信號(hào)作為檢測樣本,對(duì)于每一次對(duì)比,用基于短時(shí)能量算法對(duì)此高信噪比語音信號(hào)檢測出的端點(diǎn)作為對(duì)比標(biāo)準(zhǔn)。對(duì)100個(gè)樣本信號(hào)計(jì)算語音信號(hào)檢測的起點(diǎn)(止點(diǎn))與標(biāo)準(zhǔn)起點(diǎn)(止點(diǎn))的差值作為誤差,并對(duì)誤差檢測結(jié)果進(jìn)行統(tǒng)計(jì)。改進(jìn)算法與短時(shí)能量算法在語音信號(hào)起止點(diǎn)處的誤差統(tǒng)計(jì)直方圖如圖4所示。由圖4可知,起點(diǎn)處的誤差在6~9ms,止點(diǎn)處的誤差在9~12ms,檢測誤差比較小,可以忽略。綜上所述,對(duì)于高信噪比語音信號(hào)本文提出的端點(diǎn)檢測改進(jìn)算法可以準(zhǔn)確的檢測出其端點(diǎn)。
圖4 高信噪比語音信號(hào)起止點(diǎn)誤差統(tǒng)計(jì)直方圖
為了證明對(duì)于低信噪比語音信號(hào)本文提出的改進(jìn)算法具有較好的檢測效果,對(duì)100個(gè)樣本信號(hào)中每一個(gè)信號(hào)疊加信噪比為20dB的高斯白噪聲。用上述同樣的方法計(jì)算誤差,并對(duì)誤差檢測結(jié)果進(jìn)行統(tǒng)計(jì),兩種端點(diǎn)檢測方法在語音信號(hào)起止點(diǎn)處的誤差統(tǒng)計(jì)直方圖如圖5所示。
圖5中,兩種端點(diǎn)檢測算法在語音信號(hào)端點(diǎn)處的檢測誤差都大體服從正態(tài)分布。改進(jìn)算法檢測的起止點(diǎn)誤差分別主要集中在(15~20ms)和(25~30ms)區(qū)間,短時(shí)能量算法檢測的起止點(diǎn)誤差分別主要集中在(25~30ms)和(35~40ms)區(qū)間,所以,本文提出的改進(jìn)算法比短時(shí)能量算法有較小的分布誤差。另外,改進(jìn)算法的誤差擬合曲線分布相對(duì)陡峭,而短時(shí)能量算法的誤差擬合曲線分布相對(duì)廣泛。由以上可知,對(duì)于疊加相同噪聲的語音信號(hào),改進(jìn)算法相對(duì)短時(shí)能量算法有較高的端點(diǎn)檢測準(zhǔn)確率。
圖5 帶噪語音信號(hào)起止點(diǎn)誤差統(tǒng)計(jì)直方圖
為更好地說明改進(jìn)算法對(duì)低信噪比語音信號(hào)有較好的檢測優(yōu)越性,對(duì)100個(gè)樣本語音信號(hào)疊加不同信噪比的高斯白噪聲,并對(duì)其檢測統(tǒng)計(jì),作出兩種端點(diǎn)檢測算法在起止點(diǎn)處的均值誤差圖如圖6所示,橫坐標(biāo)為疊加高斯白噪聲的信噪比,信噪比越小表示疊加的噪聲強(qiáng)度越大??v坐標(biāo)為100個(gè)樣本語音信號(hào)疊加不同信噪比噪聲后,信號(hào)在起止點(diǎn)處檢測的均值誤差。黑色實(shí)線為改進(jìn)算法的均值誤差擬合曲線,黑色虛線為短時(shí)能量算法的均值誤差擬合曲線。
如圖6所示,(1)兩種端點(diǎn)檢測方法在低信噪比環(huán)境下其誤差波動(dòng)都比較大,但隨著信噪比的提高誤差波動(dòng)越來越??;(2)兩種端點(diǎn)檢測算法在語音信號(hào)信噪比特別低時(shí)檢測均值誤差都比較大,但隨著語音信號(hào)信噪比的提高檢測誤差越來越??;(3)在信噪比為10~25dB的范圍內(nèi),改進(jìn)算法的檢測均值誤差相對(duì)短時(shí)能量算法的檢測均值誤差較小,且誤差波動(dòng)相對(duì)較小。由以上可知,在低信噪比環(huán)境下改進(jìn)算法的端點(diǎn)檢測效果相對(duì)較好。另外,隨著信噪比提高,當(dāng)信噪比高于30dB后,兩種端點(diǎn)檢測算法的均值誤差幾乎相近,此時(shí)都有較高的檢測準(zhǔn)確率。由圖6(a)和圖6(b)對(duì)比可知,對(duì)同一帶噪語音信號(hào),止點(diǎn)處檢測均值誤差相比起點(diǎn)處要大一些。
圖6 帶噪語音信號(hào)起止點(diǎn)均值誤差圖
本文提出了基于短時(shí)自相關(guān)最大值與短時(shí)過零率之積的改進(jìn)算法,此算法的主要思想是利用清音、濁音和噪音信號(hào)不同的短時(shí)自相關(guān)特性來有效區(qū)分語音段和噪音段,利用短時(shí)過零率有效判別濁音和清音。將語音信號(hào)的短時(shí)自相關(guān)函數(shù)最大值與短時(shí)過零率相乘,然后進(jìn)行端點(diǎn)檢測。其主要特點(diǎn)為:(1)清音信號(hào)的每幀自相關(guān)函數(shù)最大值比較小,過零率較高。濁音信號(hào)的每幀自相關(guān)函數(shù)最大值比較大,過零率較低;(2)依據(jù)清音與濁音段的不同特性,以短時(shí)過零率算
法輔助修正短時(shí)自相關(guān)算法,可以有效避免清音段引起的檢測誤差,得到更加準(zhǔn)確的語音端點(diǎn);(3)對(duì)于低信噪比語音信號(hào)(10~25dB),本文提出的改進(jìn)算法的檢測均值誤差相對(duì)較小,誤差波動(dòng)相對(duì)較小。由此得出,在低信噪比環(huán)境下,改進(jìn)算法的檢測準(zhǔn)確率相對(duì)較高,具有一定的抗噪性。
[1]張雪英.數(shù)字語音處理及Matlab仿真[M].北京:電子工業(yè)出版社,2010.
[2]YiKCH,TianB,F(xiàn)uQ.Speechsignalprocessing[M].Beijing:NationalDefenceIndustryPress,2000.
[3]GhoshPK,TsiartasA,NarayananS.Robustvoiceactivitydetectionusinglong-termsignalvariability[J].IEEETransactionsonAudio,Speech,andLanguageProcessing, 2011, 19(3): 600-613.
[4]Bou-GhazaleSE,AssalehK.Arobustendpointdetectionofspeechfornoisyenvironmentswithapplicationtoautomaticspeechrecognition[C].Shanghai:ProceedingofIEEEICASSP, 2002.
[5]ShafranI,RoseR.Robustspeechdetectionandsegmentationforreal-timeASRapplications[J].Acoustics,Speech,andSignalProcessing,Proceedings, 2003(1): 6-10.
[6]蔡蓮紅,黃德智,蔡銳.現(xiàn)代語音技術(shù)基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[7]LiQ.Robustendpointdetectionandenergynormalizationforreal-timespeechandspeakerrecognition[J].IEEETransactionsonSpeechandAudio,2002,10(3):146-157.
[8]韓紀(jì)慶,張磊,鄭鐵然.語音信號(hào)處理[M].北京:清華大學(xué)出版社,2013.
[9]肖軍,袁劍峰,欒江峰,等.一種基于短時(shí)能量和高階差分的端點(diǎn)檢測方法[J].北京師范大學(xué)學(xué)報(bào),2012,48(2):146-147.
[10]郭麗惠,何昕,張亞昕,等.基于順序統(tǒng)計(jì)濾波的實(shí)時(shí)語音端點(diǎn)檢測算法[J].自動(dòng)化學(xué)報(bào),2008,34(4):419-420.
[11]尹巖巖,殷業(yè),羅漢文,等. 基于短時(shí)能零熵的端點(diǎn)檢測方法[J].計(jì)算機(jī)仿真,2012,29(11):408-409.
[12]王綱金,趙歡.低信噪比環(huán)境下語音端點(diǎn)檢測方法研究[D].長沙:湖南大學(xué),2011.
[13]陳棟,趙榮椿.語音信號(hào)前端處理技術(shù)研究[D].西安:西北工業(yè)大學(xué),2005.
[14]宋知用.Matlab在語音信號(hào)分析與合成中的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013.
Speech Endpoint Detection Algorithm Based on Short Time Autocorrelation and Short-time Zero Crossing Rate
JIZhenfa,YANGHui,LIRan,JINYinchao
(SchoolofOptical-ElectricalandComputerEngineering,UniversityofShanghaiforScienceand
Thetraditionalendpointdetectionalgorithmbasedonshort-timeenergycandetectspeechendpointaccuratelyinhighSNRenvironment,buttheeffectisnotsatisfactoryinlowSNRenvironment.Forthispurpose,animprovedalgorithmisproposedbasedonthemaximumvalueofshort-timeautocorrelationandthezerocrossingrate.Theshort-timeautocorrelationmaximumisusedforvalidspeechsegmentsareaandnoise,whiletheshort-timezerocrossingratefortheeffectivedetectionoftheunvoicedsignal,thuseffectivelydetectingtheendpointofthespeechsignal.ExperimentsshowthattheimprovedalgorithmreducesthedetectionerrorcomparedtotheshorttimeenergyalgorithminthelowSNRenvironment,anditcaneffectivelydetectthespeechendpoint.
endpointdetection;short-timeenergy;short-timeautocorrelationmaximum;short-timezerocrossingrate
2015- 12- 14
紀(jì)振發(fā)(1990-),男,碩士研究生。研究方向:信號(hào)處理。楊暉(1981-),男,博士,副教授。研究方向:光學(xué)精密測量。
10.16180/j.cnki.issn1007-7820.2016.09.015
TN912.34
A
1007-7820(2016)09-052-04