陳澤偉,曾慶寧,謝先明,龍超
桂林電子科技大學信息與通信學院,廣西桂林541004
基于自相關函數的語音端點檢測方法
陳澤偉,曾慶寧,謝先明,龍超
桂林電子科技大學信息與通信學院,廣西桂林541004
CNKI網絡出版:2017-03-13,http://kns.cnki.net/kcms/detail/11.2127.TP.20170313.1638.006.html
語音端點檢測是指在一段語音中確定出語音信號的起始點和結束點,這在語音信號處理中是非常重要的一步,廣泛應用于語音定位、識別、增強、去噪等方面。準確的語音端點檢測不但可以縮短語音系統的處理時間,而且也排除了噪聲段可能引起的干擾,此外準確的語音端點檢測還會影響語音識別等后期的處理[1]。目前端點檢測方法仍是基于傳統的幾種,大體上可以分為兩類[2-3],一類是基于模式識別的方法,但該方法復雜度高、運算量大,實時性不強。另一類是基于閾值的方法,該方法由提取語音和噪聲不同特征來設定閾值從而檢測出語音和噪聲,該方法原理簡單、運算量小因而使用廣泛。目前雖然有多種語音端點檢測方法如短時平均能量法[4]、短時平均過零率法[5]、自相關法、方差法、LPC系數法以及LPC預測誤差法[6-7]等,但作為最基本的檢測方法,基于短時能量和短時過零率的雙門限法[8-10]仍有很大的研究空間和研究價值。短時過零率的檢測方法比較簡單,然而在較低信噪比的情況下準確度受到很大的影響。
本文首先對語音和噪聲的相關函數的特性進行研究,定義自相關函數主峰的最大值與次大值的比值,然后將該比值與傳統的能量-過零率雙門限端點檢測中的過零率進行對比分析。最后改進并利用自相關函數主峰最大值與次大值的比值進行端點檢測,并與利用能量-過零率的雙門限法[11]在不同信噪比下進行實驗。結果表明,本文方法能較好地檢測出語音端點,并優于能量-過零率的雙門限法。

由于自相關與互相關的特性相似,本文只考察一段噪聲的自相關函數,歸一化后如圖1,僅在中間處有一個明顯的峰值,數值為1。

圖1 噪聲幀自相關函數
將此自相關函數最大值處(方框)放大如圖2,可以看到,除最大值1外,次大值幅度在0.1至0.15之間,可以近似認為次大值為0.1,即噪聲自相關函數的最大值與次大值的比值an≈10,這里an定義為噪聲信號主峰的最大值與次大值的比值。

圖2 噪聲幀自相關函數最大值處細節
一段語音信號的自相關函數歸一后波形如圖3,不僅有數個明顯的波峰,且在主峰有密集的“棍棒”。將主波峰頂點處(方框)放大,從圖4可以看出,次大值幅度在0.99至0.995之間,非常接近于最大值1,且信號自相關函數的最大值與次大值的比值as≈1,這里as定義為語音信號主峰的最大值與次大值的比值。an與as均稱為自相關函數主峰比值。隨機噪聲的an≈10而純凈語音的as≈1,前者約為后者的10倍,因此可利用這個特征來區分噪聲信號和語音信號。

圖3 語音信號幀自相關函數

圖4 語音信號幀自相關函數最大值處細節
語音分幀后每幀求自相關,然后計算每幀的主峰比值,最后所有主峰比值歸一化。圖5為一段語音信號及自相關函數主峰比值波形[12]。觀察圖5可知,語音的自相關函數主峰比值波形在噪聲段的幅度比較高,在語音段的幅度非常低甚至接近于零,且噪聲段和語音段的邊沿陡峭,變化非常明顯。因此只要設置合理的雙門限閥值[13]即可利用此特征檢測噪聲段和語音段的方法是可行的。雙門限是指圖5中橫虛線T1和橫實線T2。此圖中,當波形數值低于T2便肯定是語音,再從波形數值低于或高于T1來判決起止點。為提高檢測的穩定性以及閥值的通用性,減小噪聲段毛刺而引起的誤判,將自相關函數主峰比值序列通過中值濾波器進行濾波以平滑曲線,減小在噪聲段的起伏。中值濾波既平滑了曲線,也不會破壞數據在兩個相鄰幀之間的階躍性變化,提高了穩定性。

圖5 語音波形及其自相關函數主峰比值圖形
在實際中噪聲的隨機性很強,可能會含有豐富的高頻成分,所以自相關函數主峰比值波形在噪聲段有時會容易出現起伏而引起檢測不精確甚至嚴重者會引起檢測錯誤,如圖5。由于噪聲段不穩定,只利用自相關函數主峰比值進行檢測并不可靠。改進的方法為利用語音的對數能量的優點[12]來提高檢測的穩定性和準確度。
在傳統的語音端點檢測中的經典方法如雙門限法,它的提出是基于短時平均能量和短時平均過零率原理,設語音信號為x()n,加窗分幀后第i幀語音信號為,幀長為N,設第i幀的能量為Eni,則有:

由此得每一幀的對數能量[11]:

式中c為常數,通常取值大于1。引入c能減小En中某一數值與前后數值的差距,所以常數c選擇合適的數值對于區分噪聲段和語音段有所幫助,取對數則緩和了En劇烈變化的幅值[14]。
圖6為語音信號的短時平均能量和對數能量:短時平均能量在噪聲段非常平穩甚至接近于0而在語音段則有較高的幅值。此外,對數能量將短時平均能量劇烈變化的值緩和,并且能一定程度上提高和平穩語音段的幅度。
短時平均過零率表示一幀語音信號時域波形中穿過橫軸(零電平)的次數,定義為:


圖6 一段語音的短時平均能量和對數能量
過零率圖形如圖7。圖7還比較了自相關函數主峰比值和短時過零率,前者的性能遠好于后者。無論是在噪聲段還是語音段,自相關函數主峰比值都明顯比過零率圖形要平緩且穩定。

圖7 自相關函數主峰比值與短時過零率的比較
相較于圖6中能量的波形,在語音段是向上的,而圖7的自相關函數主峰比值和短時過零率在語音段的幅度是向下的。這說明:在語音段能量的數值較大而過零率數值較小。如果將能量值除以過零率值[10],即能-零比法,可以進一步降低噪聲段的幅度和提高語音段的幅度,從而可以進一步拉大噪聲段和語音段的差異,更容易區分出語音端點。同時,對于噪聲段和語音段的區分邊界前者也明顯好于后者,尤其是在于噪聲段,自相關函數的性能非常好。因此,相較于能量除以過零率,將對數能量除以自相關函數主峰比值將取得更好效果,結果對比如圖8。
從圖8第一小圖可以看出,不但噪聲和語音邊界更加陡峭,而且提升了語音段的幅度,因此更容易準確檢測出語音段的起止位置,同時也減小了語音低能量處誤判為噪聲段的可能。
綜上,將基于自相關函數主峰比值的端點檢測方法總結如下:
(1)對語音數據進行分幀,求每一幀自相關函數的主峰比值以及對數能量,并分別歸一化。
(2)將相關函數主峰比值除以對數能量,并利用計算結果的前端無話段計算均值mean。
(3)求門限閾值T1=α?mean,T2=β?mean,且α<β。這里的閾值系數α,β為經過大量實驗得到的經驗值。如圖9(d)中,為了便于觀察而有意將虛線T1,實線T2放大。理想情況為T1恰好大于噪聲的最大值。
(4)依實際情況而定,當波形數值高于T2便肯定是語音,再從波形數值高于或低于T1來判決起止點。

圖8 對數能量除以自相關函數主峰比值與對數能量除以過零率的圖形比較
實驗中所用語音樣本是在相對空曠安靜的天臺環境下采集,錄音設備為M-AUDIO公司的M-TRACK EIGHT語音采集器,采樣頻率8 kHz和16 bit采樣精度。語音采用矩形窗分幀,幀長N=200,幀移inc=80。實驗平臺為Matlab,本文進行三組實驗對比。
第一組為詞語的檢測,內容是“藍天、白云”。為便于考察不同信噪比時的檢測有效性,先在純語音進行端點的檢測。圖9為純凈語音下傳統的能-零比雙門限法和本文方法進行端點檢測的結果。便于對比,圖9(a)、(b)為能-零比法,圖9(c)、(d)為本文方法。需要說明的是:圖(b)是對數能量除以過零率,圖(d)是對數能量除以自相關函數主峰比值。這里的判決依據為圖(b)、(d)的波形高于預設門限值即可判定是語音段,否則為噪聲段。圖9中豎實線為檢測出的語音的起始位置,豎虛線為語音的結束位置。

圖9 純凈語音下能零比法及本文方法端點檢測
圖10~12為在不同信噪比下的檢測結果。圖10可以看出,在信噪比較高時,能-零比法和本文方法都能非常準確地檢測出語音端點。當信噪比降低至5 dB時,圖11(b)中主要的語音段雖然也檢測出來,但第一段的尾音已丟失。

圖10 信噪比為20 dB時端點檢測
由圖12(a)可以看出,當信噪比降至0 dB時語音已完全被噪聲淹沒,同上面的實驗一樣,在未改變檢測門限閾值的情況下,觀察圖12(b),此時能-零比法已經完全失效,而本文方法圖12(d)仍有著良好的檢測效果。
第二組為單字的檢測,內容為“海、桂”。由于單字時較容易設定門限閾值,因此無論是能-零比法還是本文方法,在不同信噪比下都準確地檢測出了語音部分。檢測結果如圖13~15。

圖11 信噪比為5 dB時端點檢測

圖12 信噪比為0 dB時端點檢測

圖13 信噪比為20 dB時端點檢測

圖14 信噪比為5 dB時端點檢測
第三組為句子的檢測,內容有兩小段:“明天會更好—北京歡迎你”。信噪比為20 dB時,由圖16可知兩種方法都能準確地檢測出語音段。
當信噪比降至5 dB時,如圖17,能-零比值法在句子多處都出現了間斷,但都能較好地檢測出了語音部分。在人說話時候由于字與字之間換氣長短不一的原因,部分字間隔的語音能量非常小甚至等同于外界的噪聲,此部分與噪聲的值均低于檢測閥值,所以會丟失部分間隔。當信噪比為0 dB時,兩種檢測方法都出現了間斷,但是從圖18可知,能-零比值法的檢測結果已完全失效,而本文方法的結果仍優于能-零比法,說明本文的方法抗噪能力強,在不同信噪比下檢測效果更好。
通過以上實驗不難發現,由于過零率對噪聲變化過于敏感,所以波動較大,使得能-零比法容易引起誤判而導致檢測的正確性降低。語音段和噪聲段的自相關函數區別比較明顯,因而它們的波形差異較大。對于隨機性的噪聲,自相關函數主峰比值的波形在語音段的性能明顯比過零率在語音段的性能要好。同時,相較于過零率,自相關函數主峰比值還能提升語音段的幅度,降低并平滑噪聲段的幅度,使得噪聲段的毛刺小得多。因此,即使降低了信噪比,和傳統的基于過零率的雙門限法相比,本文的端點檢測方法所擬定的門限閥值具有更大的浮動空間,自然相應地提高了檢測的可靠性?,F實中環境的噪聲比較復雜,目前的端點檢測方法都很難同時適應各種噪聲,在實驗過程中也對多種噪聲如F16、volvo、babble等進行了對比,結論是:在較高信噪聲比時本文方法檢測效果多數時候能明顯好于能量-過零率方法。然而隨著信噪比的下降,兩種方法的檢測結果都有所下降,但實驗中本文方法大多仍能優于能量-過零率雙門限法,尤其是在詞語及句子方面。因此,基于自相關函數主峰比值的檢測方法有著更強的適應性。

圖15 信噪比為0 dB時端點檢測

圖16 信噪比為20 dB時端點檢測

圖17 信噪比為5 dB時端點檢測

圖18 信噪比為0 dB時端點檢測
[1] 魯遠耀,周妮,肖珂,等.強噪聲環境下改進的語音端點檢測算法[J].計算機應用,2014,34(5):1386-1390.
[2] He Suning,Yu Juebang.A novel Chinese continuous speech endpoint detection method based on time domain features of the word structure[C]//IEEE International Conference on Communication Circuits and Systems and West Sino Expositions,2002,2:992-996.
[3] Estevez P A,Becerra-Yoma N,Boric N,et al.Genetic programming-based boice activity detection[J].Electronics Letters,2003,41(20):1141-1143.
[4] 陸東鈺,周萍.基于雙門限算法的語音端點檢測和聲韻母分離研究[J].桂林電子科技大學學報,2011(6):480-484.
[5] 朱明明,吳小培,羅雅琴.基于子帶能量的語音端點檢測算法的研究[J].工業控制計算機,2013,26(9):44-46.
[6] Qi Y Y,Hunt B R.Voiced-unvoiced-silence classification of speech using hybrid features and a network classifier[J].IEEE Transactions on Speech and Audio Processing,1993,1(2):250-255.
[7] Kia S J,Coghill G G.A mapping neural network and its application to voiced-unvoiced-silence classification[C]//Proceedings of International Conference on Artificial Neural Networks Expert Systems,1992:104-108.
[8] 孫一鳴.基于改進雙門限法的語音端點檢測研究[J].長春理工大學學報:自然科學版,2016,39(1):91-94.
[9] 路青起.基于雙門限兩級判決的語音端點檢測方法[J].電子科技,2012,25(1):13-15.
[10] 尹洪兵,秦斌,張凡,等.一種基于能量-過零率比的端點檢測方法[C]//全國第17屆計算機科學與技術應用(CACIS)學術會議論文集(上冊),太原,2006:459-463.
[11] 孫戰飛,儲飛黃,王江.一種自適應語音端點檢測算法[J].計算機工程與應用,2014,50(1):206-210.
[12] 邢亞從.幾種語音端點檢測方法簡介[J].福建電腦,2011,27(11):67-68.
[13] 宋知用.Matlab在語音信號分析與合成中的應用[M].北京:北京航空航天大學出版社,2013.
[14] 李嘉安娜.噪聲環境下的語音端點檢測方法研究[D].廣州:華南理工大學,2015.
CHEN Zewei,ZENG Qingning,XIE Xianming,et al.Speech endpoint detection method based on auto correlation function.Computer Engineering andApplications,2018,54(6):216-221.
CHEN Zewei,ZENG Qingning,XIE Xianming,LONG Chao
School of Information and Communication,Guilin University of Electronic Technology,Guilin,Guangxi 541004,China
The process of speech signal recognition and de-noising is usually used only for speech signal segments,and in some situations,different approaches are need to be adopted to deal with speech segment and noise segment.Correlation function is used to describe the associate degree of the signal value at different times.Due to the randomness of noise,there is a great difference between the correlation function of noise and the correlation function of speech,which can be employed to the endpoint detection of speech.Based on this idea,a method is presented in this paper which uses autocorrelation function.The comparison is also made with the classical method of speech endpoint detection which is the double-threshold decision method based on the short-time average energy and short-time average zero-crossing rate.Experimental results show that the presented methods has higher accuracy,and can achieve better results than the shorttime average energy and short-time average zero-crossing rate in low SNR.
endpoint detection;auto-correlation function;zero-crossing rate;double-threshold
在語音信號的識別、去噪等過程中通常只需對有聲段進行處理,并且對語音段和噪聲段可能需要采取不同的處理方法。相關函數描述的是隨機信號在不同時刻取值的關聯程度,由于噪聲的隨機性,噪聲的相關函數和語音的相關函數有很大的不同,利用此不同點可以進行語音的端點檢測?;诖颂岢隽俗韵嚓P函數的語音端點檢測方法,并對比了經典的雙門限法——基于短時平均能量和短時平均過零率的雙門限判決法。實驗表明該方法具有較高的準確性,并且在較低信噪比下能取得比短時平均能量和短時平均過零率的判決法更好的效果。
端點檢測;自相關函數;過零率;雙門限法
2016-10-08
2016-12-01
1002-8331(2018)06-0216-06
A
TP301.6
10.3778/j.issn.1002-8331.1610-0028
國家自然科學基金(No.61461011);“認知無線電與信息處理”教育部重點實驗室2016年主任基金(No.CRKL160107);廣西自然科學基金(No.2014GXNSFBA118273)。
陳澤偉(1988—),男,碩士研究生,研究領域為語音信號處理,E-mail:czw012@126.com;曾慶寧(1963—),男,博士,教授,研究領域為語音信號處理、圖像信號處理、陣列信號處理;謝先明(1979—),博士,副教授,研究領域為雷達干涉成像;龍超(1966—),女,高級實驗師,研究領域為機器人聽覺。