沈鈺瑞 李文鈞 金偉杰 岳克強
摘? ?要:語音端點檢測是將采集到的語音信號從復(fù)雜的噪聲背景中提取出來,確定每段語音的開始和結(jié)束,是后續(xù)處理的基礎(chǔ)。對于語音端點檢測在低信噪比的復(fù)雜噪聲環(huán)境下準確率低的問題,提出了一種多窗譜估計減噪和子帶能熵比法結(jié)合的語音端點檢測算法。該算法通過改進多窗譜譜減法對語音信號進行減噪,在分析了常規(guī)譜熵端點檢測算法的基礎(chǔ)上結(jié)合對數(shù)能量,以改進的子帶能熵比作為閾值進行端點檢測。實驗表明,該算法在不同環(huán)境的低信噪環(huán)境下,準確率高,具有較高的魯棒性。
關(guān)鍵詞:端點檢測;低信噪比;譜熵法;子帶能熵比法;對數(shù)能量
中圖分類號:TN911.72? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標志碼:A
文章編號:1003—6199(2020)02—0109—05
Abstract:The speech endpoint detection is to extract the speech segment from the complex noise background in the collected speech signal,and determine the start and end of each speech,which is the basis of subsequent processing. For the problem that speech endpoint detection has low accuracy under complex noise environment with low SNR,a speech endpoint detection algorithm based on multi-taper spectrum estimation and noise reduction combined with improved energy entropy ratio method is proposed. The algorithm denoises the speech signal by improving the multi-taper spectral subtraction. Based on the analysis of the conventional spectral entropy endpoint detection algorithm combined with the logarithmic energy,the improved subband entropy ratio is used as the threshold for endpoint detection. Experiments show that the algorithm has high accuracy and high robustness under low SNR environment in different environments.
Key words:endpoint detectionlow;low signal to noise ratio;spectral entropy;subband energy entropy ratio;logarithmic energy
在人與人之間的自然語言的通信外,語音信號處理技術(shù)在計算機智能與人機交互中的作用越來越重要。而具備高準確率且魯棒性好的端點檢測算法對于語音信號處理尤為重要。在語音信號處理中,如果語音信號輸入信噪比很高,那么只需要通過信號的短時能量就能區(qū)分語音段和噪聲背景[1],但在低信噪比下單純通過短時能量進行端點檢測效果很差。除此,傳統(tǒng)算法還有相關(guān)法[2]、譜距離法[3]、小波變換[4]等應(yīng)用于端點檢測。近些年有研究學(xué)者還提出了多種端點檢測算法,如TEO語音端點檢測[5],基于Teager能量算子和經(jīng)驗?zāi)B(tài)分解的語音端點檢測[6],基于小波能量熵的語音端點檢測[7],還有將短時頻譜峰值融合短時能量和過零率進行自適應(yīng)逐級分段計算的端點檢測算法[8]。當(dāng)前針對低信噪比的端點檢測,如何有效提高復(fù)雜噪聲環(huán)境下的信噪比,更準確的語音端點檢測技術(shù)仍是語音信號處理的重要研究課題?;诖耍岢鲆环N多窗譜估計減噪和子帶能熵比法結(jié)合的語音端點檢測算法,基于對數(shù)能量和短時能熵比在幅值上的巨大差異,以此作為閾值對語音信號進行端點檢測,取得了較高的準確性。
1? ?改進的多窗譜估計的譜減法
1.1? ?多窗譜估計的譜減法
基本譜減法中僅用了一個數(shù)據(jù)窗對噪聲譜進行估計,會存在一定的誤差。多窗譜法減噪通過對語音信號同一數(shù)據(jù)序列使用多個正交窗分別求直接譜,然后對多個直接譜取平均值獲取噪聲譜值[9]。采用這種估計方式方差值較小,得到的噪聲譜值會更加準確,進而可以得到更加準確的端點檢測結(jié)果。
2.2? ?改進的多窗譜估計譜減法
對多窗譜功率譜密度估計相鄰幀之間進行平滑處理,計算平滑多窗譜功率譜密度估計。
多窗譜估計譜減法中,面對不同噪聲環(huán)境,這兩個參數(shù)為固定值。為了提高譜減法降噪后語音信號的信噪比,在張青提出的多窗譜估計改進方法的基礎(chǔ)上[10],對過檢因子α和增益補償因子β反復(fù)試驗,在不同信噪比下提出約束,以適應(yīng)不同噪聲環(huán)境。對α和β的取值如下:
最后通過增益因子計算譜減后的幅度譜,IFFT后得到譜減后的語音信號。
2? ?改進的能熵比法
2.1? ?基本譜熵法
信息熵表現(xiàn)為能量的隨機性,與能量幅值無關(guān),能夠很好的區(qū)分語音與非語音,并且信息熵對噪聲具有一定的魯棒性,通過信息熵的方法還能減少運算[11]。
在語音信號中,對于含噪信號x(n),加窗分幀處理后得到第i幀信號為xi(m),做快速傅氏變換后得到Xi(k),其中第k條譜線頻率分量fk的能量譜為Yi(k) = Xi(k)2。
每個頻率分量的歸一化譜概率密度函數(shù)定義為:
2.2? ?改進的子帶譜熵法
針對譜熵法在低信噪比環(huán)境下準確率下降問題,為了提高算法對噪聲的抗干擾能力,對子帶譜熵法端點提出了以下方面的改進:
1)為了減少短時譜熵在無語音段的起伏,采用中值平滑處理來完成。語音信號輸入后,對每個數(shù)據(jù)點,通過一個滑動窗在其鄰域中取中值。中值平滑的優(yōu)點是既可以有效地去除少量的野點,又不會破壞數(shù)據(jù)在兩個平滑段之間的階躍變化。
2)根據(jù)語音和噪聲在頻帶上的差異,對含噪信號做出約束。基于常規(guī)語音信號的頻帶主要集中在250-3500Hz,設(shè)第k條譜線頻率為fk,有:
3)譜熵信號具有抗噪性,但每個譜點幅度在低信噪比時容易受噪聲干擾。通過子帶譜熵的方法能夠極大程度降低每幀信號快速傅里葉變換后的譜線值受噪聲的影響[12]。
3? ?對數(shù)能量與改進的子帶譜熵法相結(jié)合的
子帶能熵比法端點檢測
趙歡等人提出了一種將對數(shù)能量和譜熵作為特征的端點檢測方法[14],其在噪聲環(huán)境中表現(xiàn)出了不錯的穩(wěn)健性,在信噪比變低的情況下仍取得較好的實驗效果。對語音信號的對數(shù)能量以及子帶譜熵進行仿真,如圖1所示。
從圖可發(fā)現(xiàn),語音信號中有話段的對數(shù)能量是上凸的,而譜熵值相反。將對數(shù)能量除以譜熵作為端點檢測兩級判決的閾值,可以在處理低信噪比語音信號中拉大語音段和噪聲段之間的數(shù)值差距,提高端點檢測準確率。
雙門限法對經(jīng)典的雙門中的短時平均能量進行對數(shù)能量計算關(guān)系:
對其改進,用新的子帶譜熵值代替原有普通譜熵值計算能熵比表示為:
該算法以多窗譜估計譜減法對語音信號進行降噪處理,通過更新的子帶能熵比作為閾值,進行兩級判決的端點檢測算法總體實現(xiàn)的流程框圖如下:
4? ?算法實現(xiàn)及仿真
4.1? ?算法檢測結(jié)果
基于傳統(tǒng)端點檢測算法中,首先從實驗室安靜環(huán)境中錄取純凈語音信號。信號采樣頻率為 8 kHz,采樣精度為 16 bit。算法中對語音信號加漢明窗做分幀處理,幀長位20 ms,幀移40%。
為了檢測算法在低信噪比環(huán)境下的檢測性能,將純語音信號與白噪聲疊加,得到信噪比為-5、0、5 dB的帶噪信號,對其進行譜減降噪觀察信噪比的改變。降噪結(jié)果見表1。
從數(shù)據(jù)看出,-5 dB的語音信號在譜減后信噪比提高到5.38 dB,0 dB的語音信號提高到了9.18 dB,5 dB提高到12.4 dB,改進的多窗譜估計的譜減法在不同信噪比環(huán)境下都能顯著提高信噪比,這令噪聲對后續(xù)能熵比檢測的干擾程度大大降低。
接下來我們再對不同信噪比的帶噪語音進行端點檢測的檢測,仿真結(jié)果以實線在能熵比波形上標注語音信號的采樣初始點,以虛線標注結(jié)束點。實驗結(jié)果見圖3。
通過端點檢測結(jié)果并比對原始純凈語音,我們可以發(fā)現(xiàn)在-5 dB時第三個語音段出現(xiàn)了微小的音尾缺失,而其他語音段的端點檢測效果很好,近乎與純凈語音重合。由此可以確定本文算法在不同信噪比下都能準確地將語音段從背景噪聲中提取出來。
4.2? ?性能比較分析
以算法檢測的準確率作為評價算法好壞的標準,通過數(shù)值來體現(xiàn)準確率[15]。定義端點檢測的準確率:
式中,fnc表示總的幀數(shù),ss表示語音幀被錯判為噪聲幀的數(shù)目,ff表示噪聲幀被錯判為語音幀的數(shù)目。
在實驗中,針對傳統(tǒng)的雙門限算法、普通譜熵法和多窗譜減結(jié)合子帶能熵比算法對白噪聲在不同信噪比環(huán)境下進行實驗比較。環(huán)境信噪比分別為10 db、5 db以及0 db。對隨機樣本數(shù)據(jù)進行檢測然后取平均值,得到檢測正確率結(jié)果如表2所示。
當(dāng)SNR為10 db時,三種算法都表現(xiàn)了很好的準確率。但是隨著加入白噪聲增加SNR值的下降,傳統(tǒng)的雙門限算法的準確率急劇下降,而改進算法在復(fù)雜噪聲環(huán)境中仍保持了很高的準確率,且優(yōu)于譜熵法。因此可以得出,本文提出的多窗譜減譜和子帶能熵比聯(lián)合算法對于不同信噪比的噪聲環(huán)境適應(yīng)性很好。
4.3? ?不同噪聲環(huán)境下的噪聲檢測
由于采集設(shè)備以及語音背景復(fù)雜多樣,單純白噪聲的檢測不具有普遍性。從Noise-92噪音數(shù)據(jù)庫中選取了幾種典型的噪聲信號:白噪聲,工廠噪聲和粉紅噪聲。實驗不同噪聲環(huán)境下算法準確率見圖4。設(shè)置信噪比SNR = 0。
圖(a)中,對0 dB的粉紅噪聲帶噪語音進行譜減,信噪比提高到了7.84 dB,再通過改進的能熵比端點檢測,出現(xiàn)輕微的丟音,但總體準確率較高;圖(b)中以相同方法對工廠噪聲進行檢測,實驗結(jié)果良好且優(yōu)于粉紅噪聲結(jié)果。因此基于多窗譜估計結(jié)合子帶能熵比的端點檢測改進算法在不同噪聲環(huán)境下都有良好的適應(yīng)性。
5? ?結(jié)? ?論
當(dāng)復(fù)雜噪聲背景下語音信號信噪比降低之后,常規(guī)的端點檢測算法準確率無法滿足實際需求,易出現(xiàn)誤判和丟音現(xiàn)象。提出了一種低信噪比環(huán)境下端點檢測的改進算法,改進了子帶譜熵法,并在概率分布式中引入正常數(shù)K,提高語音和噪音在波形上的差別,結(jié)合對數(shù)能量對語音進行端點檢測。通過實驗表明,該端點檢測算法在不同信噪比,不同噪聲環(huán)境下都保持了較高的檢測準確率,抗噪能力強,具有良好的魯棒性。
參考文獻
[1]? ? JIANG Z,XU Z,WANG F,et al. Double threshold energy detection of cooperative spectrum sensing in cognitive radio[C]// International Conference on Cognitive Radio Oriented Wireless Networks & Communications,2008.
[2]? ? ZHANG D,YING G. A novel algorithm for CPM-signal endpoint detection based on auto correlation[C]// Sino-foreign-interchange Conference on Intelligent Science & Intelligent Data Engineering,2011.
[3]? ? DU F,HUANG Q,WEI C,et al. Speech endpoint detection based on improved cepstral mean subtraction[C]// Second International Conference on Intelligent System Design & Engineering Application,2012.
[4]? ?ZHANG X,ZHAO Z,ZHAO G. A speech endpoint detection method based on wavelet coefficient variance and sub-band amplitude variance[C]// International Conference on Innovative Computing,2006.
[5]? ? KUMAR J,JENA P. Solution to fault detection during power swing using Teager-Kaiser energy operator[J]. Arabian Journal for Science & Engineering,2017,42(12):5003-5013.
[6]? ? 沈希忠,鄭曉修. 基于Teager能量算子和經(jīng)驗?zāi)B(tài)分解的語音端點檢測算法[J]. 電子與信息學(xué)報,2018,v.40(07):93-99.
[7]? ? 李樂,王玉英,李小霞. 一種改進的小波能量熵語音端點檢測算法[J]. 計算機工程,2017(05):274-280.
[8]? ? 沈希忠,鄭曉修. 基于自適應(yīng)分段的語音端點融合檢測[J]. 應(yīng)用技術(shù)學(xué)報,2018,18(03):89-93.
[9]? ? 武鵬鵬,趙剛,鄒明. 基于多窗譜估計的改進譜減法[J]. 現(xiàn)代電子技術(shù),2008,31(12):150-152.
[10]? 張青,吳進. 基于多窗譜估計的改進維納濾波語音增強[J]. 計算機應(yīng)用與軟件,2017,34(3):67-70.
[11]? WU B F,WANG K C. Robust endpoint detection algorithm based on the adaptive band-partitioning spectral entropy in adverse environments[J]. IEEE Transactions on Speech & Audio Processing,2005,13(5):762-775.
[12]? WANG J. Notice of retraction an real-time voice activity robust detection based on subband spectrum[C]// Power Engineering & Automation Conference,2011.
[13]? 王琳,李成榮. 一種基于自適應(yīng)譜熵的端點檢測改進方法[J]. 計算機仿真,2010,27(12):373-375.
[14]? 趙歡,王綱金,趙麗霞. 一種新的對數(shù)能量譜熵語音端點檢測方法[J]. 湖南大學(xué)學(xué)報(自然科學(xué)版),2010,37(7):72-77.
[15]? GUO Q,NAN L,JI G. A improved dual-threshold speech endpoint detection algorithm[C]// International Conference on Computer & Automation Engineering,2010.