宣章健,蔡曉霞,褚鼎立
(國防科技大學 電子對抗學院,安徽 合肥 230037)
人說話的過程中包含大量停頓。一段連續的語音信號其實是由一系列無音片段和有音片段組成的。有音語音段的持續時間大約占整個說話過程時間的40%[1]。無音片段中背景噪聲是主要成分,而有用信息較少。有音片段中的有用信息較多。
語音端點檢測的目的是從一段包含語音的信號中檢測出語音的起始點,區分噪聲段和語音段。語音端點檢測的作用在于減少對語音信號的處理時長,減小計算量,同時排除噪聲段的影響,提高后續處理的效率和準確度。1959年,語音端點檢測的概念由貝爾實驗室最早提出。經過近60年的發展,語音端點檢測領域已經產生了數百種方法[2]。這些方法采用不同的參數,主要有時頻參數、倒譜系數、自相關參數和信息熵等,同時產生了許多將多個特征參數結合的檢測端點的方法。經典的語音端點檢測算法如短時能量,目前常用的語音端點檢測方法則主要有短時能量法、短時過零率法、基于短時能量和短時過零率的雙門限檢測法等。短時能量法在信噪比良好的條件下取得了理想效果,但在信噪比環境惡劣的條件下,算法的檢測性能急劇下降。因此,研究一種計算簡便、檢測效果好的語音端點檢測方法十分必要。對于一段語音信號,通常包括純噪聲段和帶噪語音段。帶噪語音段又分為清音段和濁音段。經典的端點檢測方法在取得成功應用的同時,暴露出了抗噪能力較弱、單個參數往往無法進行準確判決的缺點,需要結合其他方法同時進行檢測。Shen提出處于低信噪比環境時將信息熵用于語音端點檢測,并經過實驗取得了理想效果[3]。本文闡述短時能量處理噪聲、清音和濁音的優缺點[4],介紹信息熵[5]的概念,驗證信息熵算法檢測語音端點的效果[6-7],并在此基礎上提出了信能比方法,最后通過仿真進行驗證和分析。
語音信號隨時間的變化比較緩慢,通常可以認為在每10~30 ms的短時間間隔內語音信號的特性基本上固定不變。每個語音幀的短時平均能量為:

其中,N為語音采樣點數。
時域中,語音信號的幅度隨時間起伏不定。清音和濁音由于幅度不同,因而得到短時能量值有較大區別。濁音段的幅度通常比清音段的幅度大,對應短時能量也大。因此,通常由短時能量法對濁音和清音進行區分,優點是計算方便,算法復雜度小,缺點是短時能量法受信噪比約束較大,在高信噪比條件下端點識別效果非常好,但信噪比較小時,由于語音清音段通常被噪聲掩蓋,該方法已經很難區分噪聲和清音,語音端點識別效果較差。在低信噪比條件下,短時能量法識別效果如圖1所示。

圖1 短時能量端點檢測效果
可以看出,當信噪比下降時,短時能量法的檢測效果急劇下降,信噪比為10 dB時已經幾乎無法分辨語音端點。
德國物理學家克勞修斯于1865年提出了熵的概念。熵最初被應用于熱力學領域,用來評測一個系統可以達到的狀態數。能達到的狀態數越多,熵越大。信息是對不確定性的消除。在信息論中,熵函數表示信源的平均信息量。假設信息源發出有限個符號S0,S1,S2,…SN-1,它們組成的輸出序列前后符號之間統計獨立;P0,P1,P2,…,PN-1分別為N個符號出現的概率,則信息熵定義為:

語音信號x(n)經加窗分幀處理,得到第i幀信號是xi(m)經FFT變換得到第k條譜線頻率的分量fk的能量譜。定義每個信號頻率分量fk的歸一化譜概率密度函數為:

其中pi(k)是一幀語音信號中第k個頻率分量的概率密度,N為FFT長度。
語音幀短時信息熵定義如下:

利用信息熵可以檢測語音與噪聲。信息熵算法分類的原理是通過檢測語音功率譜的突變情況來檢測語音端點。對于一段語音信號來說,非語音段在各個頻段區域內的功率譜比較平穩,從信息量區分,則認為其所含的平均信息量較大,故而信息熵較大;而語音段的功率譜通常集中特定的頻段區域,幅度值突變大,所含的平均信息量較小,故而信息熵較小。語音段和非語音段可以根據兩者信息熵分布的不同進行劃分。
信息熵是頻域的特征參數,相較于短時能量具有一定的魯捧性。對語音信號進行信息熵分析,如圖2所示。對語音信號加入高斯白噪聲進行性能分析,其中信息熵曲線下降沿表示語音起始點,上升沿表示語音結束點。可以看出,信息熵法在低信噪比情況下,具有一定的識別效果,但代表語音段的曲線幅度值較大,實際判決中可能會造成誤判。

圖2 信息熵端點檢測效果
在信噪比低于5 dB時,信息熵曲線已經沒有明顯的上升沿與下降沿,此時無法利用該算法進行準確的端點識別。
為了克服信息熵方法在語音端點檢測過程中抖動較大的缺陷,本文將信息熵算法和短時能量算法相結合,得到了一個新方法,即信能比算法。新特征參數結合了原方法在語音時域和頻域的特點:短時能量從時域出發,在信噪比較高的情況下,可以根據短時能量在語音和噪聲中的不同區分有音段和無音段;信息熵則從頻域出發,在很多情況下,使用信息熵作為特征參數比單純使用能量更加可靠,有較強的魯棒性。在噪聲環境達不到理想狀態的情況下,與信息熵算法的檢測效果進行比較,新算法結合原方法在時域與頻域中的特點可發揮它們各自的長處,又可以在一定程度上規避它們各自的缺點,增強了算法的檢測性能,從而有效地應對各種背景噪聲條件下的端點檢測活動。
信能比特征參數定義為其中 ()H l表示語音幀信息熵, ()E l表示語音幀短時能量,l表示第l幀。該算法能夠結合信息熵算法與短時能量的優點,同時平滑曲線可以增強語音端點檢測的穩定性,減小檢測誤差。
信能比算法仿真流程如下:
(1)取語音信號前20幀計算噪聲信能比熵HE0。
(2)確定語音端點的判決門限α根據實驗的具體情況確定。
(3)以幀為單位計算HE參數,并與門限值進行比較。
(4)為防止噪聲造成的干擾,如果連續5幀語音的參數值低于門限值,則認為這些幀為語音幀。第1幀為語音起始點,若連續5幀語音參數值值大于門限值,則判定為第1幀為語音結束幀。
本文語音信號生成使用cooledit錄音軟件。語音信號生成環境為實驗室無顯著噪聲環境,語音信號指標為16 kHz采樣率,單聲道,16 bit采樣位數。由于不同的檢測方法對語音信號中的清音與濁音有不同的效果,錄制文本內容選元濁音“a”和清音“s”。
語音端點檢測前,首先進行語音預處理。本文預處理過程為預加重和分幀加窗。預加重過程使用一階高通濾波器分幀幀長選取20 ms,分幀方式選擇交叉分幀,幀移為10 ms,窗函數選擇漢明窗。噪聲采用Noisex 92噪聲庫中的典型噪聲——高斯白噪聲、粉紅噪聲和F16噪聲。在信噪比15 dB、10 dB、5 dB條件下,分別對信息熵算法和信能比算法的語音端點檢測效果進行檢驗,仿真結果如圖3~圖11所示。

圖3 SNR 15 dB白噪聲

圖4 SNR 10 dB白噪聲

圖5 SNR 5 dB白噪聲

圖6 SNR 15 dB粉紅噪聲

圖7 SNR 10 dB粉紅噪聲

圖8 SNR 5 dB粉紅噪聲

圖9 SNR 15 dB F16噪聲

圖10 SNR 5 dB F16噪聲

圖11 SNR 10 dB F16噪聲
其中,F16噪聲條件下,原信息熵算法已經無法根據端點判決原則用紅線標注起始點,故未曾標注。
由仿真分析可以看出:(1)信能比算法對噪聲的適應性更強,能夠在高斯白噪聲、粉紅噪聲和F16噪聲條件下準確檢測語音端點;(2)抗干擾性能較好,在15 dB、10 dB、5 dB信噪比條件下,均能檢測到端點;(3)穩定性更強,信能比算法檢測曲線相較信息熵算法更加平滑,噪聲造成的抖動更小,因此具有一定的魯捧性;(4)通過比較語音段檢測曲線的抖動情況可知,在不同噪聲干擾情況下,檢測效果為:白噪聲>粉紅噪聲>F16噪聲。
低信噪比環境下的語音端點檢測是語音處理的難點,而傳統的信息熵端點檢測具有不穩定的缺陷。本文提出了一種新的端點檢測算法,即信能比算法。該算法在端點檢測前進行了預加重和分幀加窗處理,不僅有效利用了短時能量和信息熵算法的優勢,而且能夠適應多種噪聲。仿真結果表明,提出的端點檢測算法在低信噪比環境下具有端點檢測正確率高、穩定性好等優點,是一種行之有效的方法。實驗表明,該算法在信噪比低于0 dB的條件下,檢測效果大幅下降。下一步研究方向是改善該算法,使之能在信噪比低于0 dB時準確檢測語音端點。
[1] 鄭雪帆,劉春,陸誠等.AMR語音編碼算法研究及復雜度剖析[J].電訊技術,2003,43(10):92-96.ZHENG Xue-fan,LIU Chun,LU Cheng,et al.Research on AMR Speech Coding Algorithm and Its Complexity Analysis[J].Telecommunication Engineering,2003,43(10):92-96.
[2] 韓立華,王博,段淑鳳.語音端點檢測技術研究進展[J].計算機應用研究,2010,27(04):1220-1226.HAN Li-hua,WANG Bo,DUAN Shu-feng.Research Progress of Speech Endpoint Detection Technology[J].Computer Application Research,2010,27(04):1220-1226.
[3] Shen J L,Hung J W,Lee L S.Robust Entropy-based Endpoint Detection for Speech Recognition in Noisy Environments[C].Australian International Speech Science and Technology Conference,Sydney Convention Centre,1998.
[4] 趙力.語音信號處理[M].第2版.北京:機械工業出版社,2009.ZHAO Li.Speech Signal Processing[M].2nd edition.Beijing:Machinery Industry Press,2009.
[5] 劉雅琴,陳媛媛.基于信息熵的語音端點檢測[J].計算機時代,2009(03):54-55.LIU Ya-qin,CHEN Yuan-yuan.Speech Endpoint Detection Based on Information Entropy[J].Computer Age,2009(03):54-55.
[6] 許作輝.基于信息熵的語音端點檢測算法研究與實現[D].長春:吉林大學,2012.XU Zuo-hui.Research and Implementation of Speech Endpoint Detection Algorithm Based on Information Entropy[D].Changchun:Jilin University,2012.
[7] 李榮榮,胡昌奎,余娟.基于譜熵的語音端點檢測算法改進研究[J].武漢理工大學學報,2013,35(07):134-139.LI Rong-rong,HU Chang-kui,YU Juan.Improvement of Speech Endpoint Detection Algorithm Based on Spectral Entropy[J].Journal of Wuhan University of Music,2013,35(07):134-139.