吳 雷 周 萍
(1.桂林電子科技大學(xué) 認(rèn)知無線電與信息處理教育部重點實驗室,廣西 桂林 541004; 2.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)
在語音識別系統(tǒng)中,輸入信號通常由原始語音信號和各類噪聲信號混合而成。將各個語音信號時段與非語音信號時段區(qū)分開并對語音信號開始位置進(jìn)行精確定位被稱作端點檢測(Voice Activity Detection,VAD)。端點檢測是語音信號處理的一個基本問題,語音端點檢測的目的是在一段含噪語音中提取出語音段的起點和終點[1]。
在對連續(xù)語音檢測和去噪時,可以利用濁音的周期性將語音和噪聲分離,但是將清音和寬帶平穩(wěn)噪聲進(jìn)行區(qū)分時卻存在一定的困難,語音信號容易被噪聲淹沒。文獻(xiàn)[2]中采用基于短時幅度和短時過零特征的端點檢測方法在同一個門限下對一些清音信號進(jìn)行檢測時,可能會出現(xiàn)虛檢、漏檢現(xiàn)象,從而導(dǎo)致系統(tǒng)發(fā)生錯誤識別?;谀慰固囟ɡ淼钠渌它c檢測算法(譜熵法、自相關(guān)參數(shù)法、獨立分量分析法、高階統(tǒng)計量)在解決這一問題時能取得一定的效果,但通常其數(shù)據(jù)處理量大,大多數(shù)情況下不利于語音信號的實時分析與處理[3]。
2006年,Donoho[4]等人提出了壓縮感知CS(Compressed Sensing)理論。該方法能以低于奈奎斯特速率對信號進(jìn)行快速采樣,這也使CS理論逐漸成為信號處理領(lǐng)域的研究熱點[5]。文獻(xiàn)[3]中提出了基于壓縮感知觀測序列的倒譜距離檢測方法,利用語音信號的稀疏性通過構(gòu)建稀疏基從而得到信號的稀疏表示。在觀測序列上采用倒譜距離算法進(jìn)行端點檢測,這種方法大大減少了數(shù)據(jù)運算量。但是,由于其未對原始語音信號恢復(fù)重構(gòu),此端點檢測方法不適用于語音識別系統(tǒng)。文獻(xiàn)[6]開始將Mel 頻率倒譜系數(shù)(Mel Frequency Coefficient,MFCC)作為分類特征用于語音/非語音的檢測。Wang[7]等人采用MFCC倒譜相識度作為語音/非語音的分類特征。在此基礎(chǔ)上本文提出了基于壓縮感知和MFCC的語音端點檢測算法,利用噪聲不能在DCT域近似稀疏,在觀測壓縮過程中會部分丟失的原理,對語音信號進(jìn)行壓縮感知與重構(gòu),恢復(fù)后的語音信號信噪比得以提高。在重構(gòu)信號基礎(chǔ)上,提取MFCC倒譜特征,采用倒譜距離進(jìn)行語音端點檢測。實驗結(jié)果證明,在連續(xù)語音檢測中該方法能取得很好的效果。另外,由于MFCC特征參數(shù)能用于后續(xù)的識別,節(jié)約了系統(tǒng)的運行資源,有利于語音識別系統(tǒng)的集成化。
壓縮感知(CS)理論通過極少數(shù)的稀疏表示便能重建該信號。由此看來,CS不僅是一種信號采樣方式,也是一種信息提取方法。壓縮感知理論主要分為稀疏表示、壓縮觀測和恢復(fù)重構(gòu)三部分。其數(shù)學(xué)模型闡述如下。
(1) 稀疏表示。
(1)
式中,y=[y1,y2,…,yM]T,y=〈x,Ψi〉,y中非零元素個數(shù)記作‖y‖0。若‖y‖0=K,且K≤N,則稱信號x是K稀疏的。
(2) 壓縮觀測。
s=Φx
(2)
(3) 恢復(fù)重構(gòu)。
(3)
(4)
(5)
圖1 重構(gòu)算法流程圖
于迎霞和史家蒯等將倒譜特征應(yīng)用于帶噪端點檢測方法并取得了很好的效果。由于Mel倒譜特征參數(shù)其本身能保持一定的特性,因此在語音識別中得到廣泛的應(yīng)用[11]。通過大量實驗驗證,該種檢測算法更加適用于高倍噪聲環(huán)境[12]。Mel倒譜特征參數(shù)是基于聽覺模型的特征參數(shù)提取方法,將耳蝸當(dāng)作是一個濾波器組,當(dāng)頻率小于1 kHz時,耳蝸以線性形式進(jìn)行濾波;而當(dāng)頻率大于1 kHz時,耳蝸以對數(shù)形式進(jìn)行濾波。根據(jù)人耳耳蝸的這一特性,研究人員設(shè)計了Mel頻率濾波器組,經(jīng)過倒譜運算后就能得到Mel頻率倒譜系數(shù)。MFCC參數(shù)的計算以Mel頻率為基準(zhǔn),其與實際頻率的轉(zhuǎn)換關(guān)系可用式(6)表示:
(6)
而 MFCC的求取過程是首先把求得的頻率特性通過式(6)計算出Mel頻率特性,隨后將其變換到倒譜空間中[13]。MFCC計算框圖如圖2所示。
圖2 MFCC計算框圖
MFCC計算過程如下:
① 對輸入語音信號進(jìn)行預(yù)處理,包括分幀、加窗等步驟,然后將語音幀進(jìn)行DFT變換,依據(jù)式(7)計算得語音的頻率特性。
(7)
式中,x(n)為輸入語音信號;N為傅里葉變換的長度。
② 對Xa(k)求平方,將其作為輸入通過一組含有M個三角形濾波器的濾波器組,該濾波器組的中心頻率為f(m),m=0,1,2,…。
③ 設(shè)Hm(k)為三角濾波器的頻率響應(yīng)特性,將濾波器組的輸出進(jìn)行對數(shù)變換,其計算公式如下:
(8)
④ 將S(m)進(jìn)行DCT變換,所得C(n)即為 MFCC系數(shù)。
(9)
在對語音信號提取MFCC參數(shù)時,一般選取12階倒譜系數(shù),由于第0階的倒譜系數(shù)表現(xiàn)出的是一種能量的特性,通常C(0)被當(dāng)作能量系數(shù),而不作為倒譜系數(shù)。
在實際環(huán)境下,絕大部分信號的信噪比比較低,單純的語音端點檢測技術(shù)準(zhǔn)確率較低且難以達(dá)到預(yù)期的檢測效果。大量實驗表明,在對信號進(jìn)行檢測時,必須先對其進(jìn)行去噪處理。本文采用壓縮感知重構(gòu)對語音信號去噪,利用倒譜距離對重構(gòu)信號進(jìn)行端點檢測,如圖3所示。
圖3 端點檢測算法框圖
基于壓縮感知和MFCC的語音端點檢測,其算法具體步驟如下:
① 利用語音在離散余弦變換(Discrete Cosine Transform,DCT)域下的稀疏性,采用性能表現(xiàn)最優(yōu)的Hadamard矩陣壓縮測量帶噪語音,然后通過改進(jìn)的正交匹配跟蹤算法(Orthogonal Matching Pursuit,OMP)進(jìn)行語音信號恢復(fù)。
② 利用漢寧窗對重構(gòu)后的信號進(jìn)行分幀,假定重構(gòu)的語音信號的前10幀為噪聲信號,對前10幀MFCC參數(shù)求平均,得到噪音的Mel倒譜初始值。
(10)
③ 最后利用滑動平均求取每幀語音的Ci離Cmn的倒譜距離。設(shè)MFCC系數(shù)的序列為Ci,i=1,2,…,n,則滑動平均式[14]為
(11)
式中,C(i)為語音信號第i幀的MFCC倒譜距離。根據(jù)MFCC系數(shù)距離曲線,取T1=0.22,T2=0.12。當(dāng)C(i)≥T1且C(i+1)≥T1時,就可以認(rèn)為第i幀是一個語音信號,當(dāng)隨后C(i)≤T2時即認(rèn)為語音結(jié)束。
④ 為了保證檢測的實時性,噪聲Mel倒譜初始值按式(12)更新:
Cmn=λCmn+(1-λ)Ci
(12)
式中,Cmn為前面10幀噪聲的MFCC均值矢量;Ci為當(dāng)前幀的MFCC矢量;λ為更新速度。
為了檢驗該算法在帶噪連續(xù)語音的檢測效果,使用錄音筆在實驗室安靜的環(huán)境下錄制純凈的語音信號,其中信號的采樣率為16 kHz,每幀256個采樣點,幀移為80個采樣點。圖4給出了純凈語音信號“我到北京去”的時域波形圖,使用標(biāo)準(zhǔn)噪音庫noisex-92里的白噪聲信號對其干擾,圖5為疊加高斯白噪聲后的帶噪信號波形。
圖4 純凈語音信號
圖5 帶噪語音信號(信噪比10dB)
首先,采用傳統(tǒng)的雙門限法進(jìn)行仿真,使用語音信號的短時能量和短時平均過零率來進(jìn)行端點檢測,圖6為語音信號短時能量檢測結(jié)果,圖7為語音信號短時平均過零率檢測結(jié)果。從圖6、圖7可以看出,使用雙門限法檢測時,其采用歸一化處理,在同一門限下進(jìn)行檢測。由于濁音的短時能量遠(yuǎn)大于清音的短時能量,在清音“北”字語音段上信號幅度突然變小,該方法將一段語音檢測成為了兩段語音,很顯然發(fā)生了誤檢現(xiàn)象。
然后,采用壓縮感知與MFCC端點檢測方法對同一帶噪語音“我到北京去”進(jìn)行檢測。依據(jù)上述步驟對原始信號進(jìn)行壓縮感知與重構(gòu)后,信號波形如圖8所示,從圖中可以看出,采用壓縮感知和改進(jìn)的OMP算法對帶噪語音信號進(jìn)行壓縮觀測和重構(gòu),重構(gòu)信號不僅能較好地恢復(fù)原始語音信號波形,而且取得了良好的降噪效果。
圖6 短時能量檢測結(jié)果
圖7 短時平均過零率檢測結(jié)果
圖8 重構(gòu)的語音信號
圖9為傳統(tǒng)雙門限端點檢測算法和CS-MFCC端點檢測算法在不同信噪比情況下的檢測結(jié)果。從圖中可以看出,在信噪比大于5 dB時,兩種檢測算法都可以進(jìn)行有效的端點檢測,但當(dāng)信噪比低于5 dB時,傳統(tǒng)雙門限檢測算法性能明顯下降,已無法有效進(jìn)行端點檢測,特別是測試樣本中的后3個字符,幾乎完全被淹沒在噪聲信號中,嚴(yán)重影響檢測準(zhǔn)確率。
在連續(xù)語音檢測過程中出現(xiàn)幅值急劇變化時,基于本文改進(jìn)的CS-MFCC端點檢測算法不但可以在大于5 dB的高信噪比環(huán)境下有效檢測出語音幀的起始與結(jié)束,而且在信噪比為0 dB的惡劣環(huán)境下仍然可以保持有效的工作,能適用于連續(xù)語音識別系統(tǒng)進(jìn)行帶噪語音端點檢測,具有良好的魯棒性。
實驗中采用傳統(tǒng)的雙門限端點檢測算法和本文改進(jìn)的CS-MFCC端點檢測算法分別對語音信號進(jìn)行端點檢測,并改變信噪比的值,統(tǒng)計在不同信噪比條件下兩種算法的端點檢測結(jié)果如表1所示。準(zhǔn)確率定義為:
錯誤幀數(shù)=語音誤判為噪聲幀數(shù)+噪聲誤判為語音幀數(shù)
準(zhǔn)確率=(總幀數(shù)-錯誤幀數(shù))/總幀數(shù)
當(dāng)準(zhǔn)確率低于70%時,則對應(yīng)的算法被認(rèn)為無效。
圖9 CS-MFCC端點檢測結(jié)果
端點檢測方法信噪比(SNR)0dB5dB10dB20dB30dB傳統(tǒng)雙門限算法失效失效94.2595.7396.18本文改進(jìn)算法91.6391.7596.3296.1694.63
通過統(tǒng)計實驗結(jié)果可知,在信噪比大于10 dB的情況下,傳統(tǒng)雙門限算法和本文改進(jìn)算法都能保持94%以上的準(zhǔn)確率,但當(dāng)信噪比低于10 dB時,傳統(tǒng)雙門限算法性能表現(xiàn)不穩(wěn)定,幾乎無法有效地工作,而本文改進(jìn)的CS-MFCC端點檢測算法依然可以保持91%以上的準(zhǔn)確率。由此可見,傳統(tǒng)雙門限檢測算法雖簡單易實現(xiàn),但是抗噪性能太差,特別是在檢測弱摩擦音和結(jié)尾音符時存在明顯不足,無法在低信噪比環(huán)境下有效工作。而本文改進(jìn)算法利用壓縮感知與重構(gòu)進(jìn)行了降噪處理,同時采用 MFCC倒譜距離進(jìn)行端點檢測,具有較強(qiáng)的抗噪性能和魯棒性,在強(qiáng)噪聲等惡劣環(huán)境下亦可保持有效工作。
文獻(xiàn)[15]提出的改進(jìn)的自適應(yīng)倒譜距離檢測算法是在傳統(tǒng)倒譜距離端點檢測算法基礎(chǔ)上引入倒譜距離乘數(shù)和門限增量系數(shù),進(jìn)一步提高了端點檢測準(zhǔn)確率,但是在低信噪比環(huán)境下存在漏檢、誤檢現(xiàn)象,特別是針對強(qiáng)度較弱的信號或者清音信號,而本文提出的改進(jìn)CS-MFCC端點檢測算法有效地改善了這一現(xiàn)象。圖10為兩種改進(jìn)算法在SNR=-10 dB環(huán)境下的端點檢測結(jié)果。
圖10 CS-MFCC和改進(jìn)倒譜距離端點檢測結(jié)果
由圖10可知,文獻(xiàn)[15]提出的改進(jìn)算法漏檢了測試樣本的后兩個字符,特別是最后一個尾音字符,多次測試均為漏檢,而本文提出的CS-MFCC算法則依然可以有效檢測出語音端點。
本文將壓縮感知理論和MFCC倒譜系數(shù)相結(jié)合的方法應(yīng)用于連續(xù)語音端點檢測。在端點檢測之前利用壓縮感知與重構(gòu)進(jìn)行了降噪處理。通過實驗證明,采用 MFCC倒譜距離對帶噪語音進(jìn)行語音端點檢測,較好地解決了傳統(tǒng)的雙門限算法在不同字間由于幅度變化大會產(chǎn)生誤判的問題,解決了傳統(tǒng)雙門限檢測方法在連續(xù)帶噪語音情況和低信噪比環(huán)境下端點檢測的不足。本文算法引入了壓縮感知理論進(jìn)行語音降噪,利用噪聲與語音信號在DCT域的差異性,去除語音的噪聲干擾,提高端點檢測算法的噪聲敏感性,很好地解決了文獻(xiàn)[15]在強(qiáng)度較弱的語音信號或清音信號下可能出現(xiàn)的丟失或誤檢問題,為連續(xù)語音識別系統(tǒng)提供了可靠的基礎(chǔ)。