劉艷輝
(三門峽職業(yè)技術(shù)學(xué)院 信息傳媒學(xué)院,河南 三門峽 472100)
端點(diǎn)檢測(cè)是語(yǔ)音識(shí)別的關(guān)鍵性技術(shù),準(zhǔn)確地確定語(yǔ)音的起始點(diǎn)和結(jié)束點(diǎn),方可為語(yǔ)音識(shí)別系統(tǒng)的后續(xù)環(huán)節(jié)節(jié)省空間,提高語(yǔ)音識(shí)別系統(tǒng)的性能。語(yǔ)音端點(diǎn)檢測(cè)方法分為基于參數(shù)的端點(diǎn)檢測(cè)和基于模型的端點(diǎn)檢測(cè),基于參數(shù)的端點(diǎn)檢測(cè)方法計(jì)算簡(jiǎn)便、運(yùn)算量少,是最普遍的檢測(cè)方式。
經(jīng)典的基于短時(shí)能量和短時(shí)過(guò)零率的特征檢測(cè)方法通過(guò)語(yǔ)音和噪聲的能量進(jìn)行比較,以及語(yǔ)音信號(hào)圍繞零點(diǎn)的上下振動(dòng)次數(shù)來(lái)判別信號(hào);雙門限判別檢測(cè)方法[1]設(shè)定閾值進(jìn)行判別,確定語(yǔ)音段與噪聲段;基于倒譜[2]、分形維數(shù)、譜熵[3]、LMS[4]、譜減[5]等的端點(diǎn)檢測(cè)方法,根據(jù)語(yǔ)音信號(hào)與噪聲信號(hào)特征參數(shù)的不同表現(xiàn),能夠很好地區(qū)分而進(jìn)行檢測(cè)。這些檢測(cè)方法均基于閾值,即將特征參數(shù)與設(shè)定的閾值進(jìn)行比較,在噪聲環(huán)境單一或較安靜的情況下有較好的識(shí)別效果,但在信噪比較低的情況下,檢測(cè)效果較差。本研究針對(duì)低信噪比時(shí)檢測(cè)效果差的問題提出改進(jìn)的多特征端點(diǎn)檢測(cè)方法,結(jié)合譜減法及自適應(yīng)濾波,一邊進(jìn)行降噪,一邊進(jìn)行語(yǔ)音增強(qiáng),以提高信噪比,并進(jìn)一步改進(jìn)譜減法的特征參數(shù),從而增強(qiáng)端點(diǎn)檢測(cè)效果。
譜減法是利用噪聲的統(tǒng)計(jì)平穩(wěn)性及加性噪聲與語(yǔ)音不相關(guān)的特點(diǎn)提出來(lái)的一種語(yǔ)音增強(qiáng)方法,該方法的運(yùn)算量小且易于實(shí)現(xiàn)。譜減法工作原理見圖1。
圖1 譜減法工作原理
將無(wú)語(yǔ)音段的噪聲功率譜作為期望值,可以較好地得到增強(qiáng)后的語(yǔ)音信號(hào)。假設(shè)x(i)為帶噪語(yǔ)音信號(hào),s(i)為無(wú)噪聲的純凈語(yǔ)音信號(hào),n(i)為疊加在語(yǔ)音信號(hào)上的加性噪聲信號(hào),在考慮噪聲時(shí),認(rèn)為噪聲疊加在語(yǔ)音信號(hào)波形上,故語(yǔ)音信號(hào)可以用以下公式來(lái)表示:
x(i)=s(i)+n(i)。
(1)
(2)
(3)
基于此進(jìn)行語(yǔ)音降噪,但噪聲的功率譜|N(ω)|2無(wú)法直接獲得,故經(jīng)常選取帶噪語(yǔ)音信號(hào)前100 ms的平均功率譜作為噪聲的初始估計(jì)值。由此可知,通過(guò)譜減法得到的語(yǔ)音信號(hào)功率譜可表示如下:
(4)
譜減法語(yǔ)音增強(qiáng)效果見圖2。
圖2 譜減法語(yǔ)音增強(qiáng)效果
對(duì)比圖2(a)至(d)可知,譜減法得到的期望信號(hào)功率譜在經(jīng)過(guò)傅里葉反變換后,對(duì)語(yǔ)音降噪起到了一定作用,但效果相對(duì)有限。
實(shí)際的噪聲環(huán)境是復(fù)雜多變的,所以應(yīng)在譜減法的基礎(chǔ)上對(duì)噪聲進(jìn)行自適應(yīng)平滑,即使用子帶譜熵的閾值確定初始閾值進(jìn)行比較,并在確定為噪聲段后,使用當(dāng)前噪聲幀的頻譜分量Y(l,k)與前一幀的頻譜分量λ(l,k-1)做加權(quán)求和并進(jìn)行更新:
(5)
式中:μ取值為0.8[6];λ(l,k-1)表示經(jīng)過(guò)噪聲平滑后第l幀信號(hào)的第k個(gè)頻譜分量;Y(l,k)表示當(dāng)前第l幀語(yǔ)音信號(hào)的第k個(gè)頻譜分量;λ(l,k-1)表示第l幀語(yǔ)音信號(hào)的第k-1個(gè)頻譜分量。
經(jīng)過(guò)式(5)的運(yùn)算,對(duì)每一幀的頻譜分量進(jìn)行了自適應(yīng)平滑處理,進(jìn)一步提高了噪聲的實(shí)時(shí)估計(jì),在信噪比較低、噪聲情況較復(fù)雜的情況下,可以很好地對(duì)噪聲進(jìn)行檢測(cè)。
針對(duì)實(shí)際的噪聲環(huán)境使用改進(jìn)的譜減公式[7]:
(6)
公式(6)為公式(4)的變形,當(dāng)參數(shù)α=2、β=1時(shí),改進(jìn)譜減法降為基本譜減法,即變?yōu)楣?4)。引入的參數(shù)α和β分別為信號(hào)修正系數(shù)和噪聲修正系數(shù)。
首先,對(duì)這兩個(gè)參數(shù)進(jìn)行修正。若減少參數(shù)比重,則會(huì)殘留更多的噪聲,無(wú)檢測(cè)效果;若增大參數(shù)比重,則可能會(huì)濾除一部分語(yǔ)音信號(hào),出現(xiàn)語(yǔ)音失真的現(xiàn)象,影響后續(xù)的識(shí)別。接下來(lái)對(duì)參數(shù)α和β進(jìn)行進(jìn)一步修正:
α=2(1+SNR),
(7)
(8)
式中:SNR為信噪比。
引入信噪比及自適應(yīng)噪聲平滑來(lái)進(jìn)一步改進(jìn)參數(shù)α和β,針對(duì)式(7)和式(8)中的SNR,采用噪聲平滑的方式進(jìn)行處理,這樣可以使SNR的值更加精準(zhǔn),詳見公式(5)。
基于改進(jìn)譜減法與噪聲平滑的多特征端點(diǎn)檢測(cè)方法如下:
(1)對(duì)語(yǔ)音信號(hào)x(t)進(jìn)行采樣,得到信號(hào)x(n)。對(duì)采樣的語(yǔ)音信號(hào)x(n)進(jìn)行分幀,幀長(zhǎng)為256,幀移為80,運(yùn)用漢明窗w(n)對(duì)語(yǔ)音信號(hào)做加窗處理,得到分幀后的語(yǔ)音信號(hào):
s(n,m),n=1,2,…;m=1,2,…,q,
(9)
式中:s(n,m)為第m幀語(yǔ)音信號(hào);q為幀數(shù)。
(2)對(duì)求得的分幀后的語(yǔ)音信號(hào)s(n,m)做快速傅里葉變換,得到每一幀語(yǔ)音信號(hào)的功率譜,并求得此時(shí)語(yǔ)音信號(hào)的相位:
(10)
式中:X(k,m)為第m幀語(yǔ)音信號(hào)經(jīng)過(guò)快速傅里葉變換后的第k個(gè)分量;N為幀長(zhǎng)。
(11)
式中:XE(k,m)為X(k,m)的能量值。
(4)將頻域中的語(yǔ)音信號(hào)XE(k,m)第m幀語(yǔ)音信號(hào)每4點(diǎn)放在一起,求得子帶譜熵:
(12)
式中:Eb(l,m)為第m幀語(yǔ)音信號(hào)的第l個(gè)子帶能量;Nb為子帶數(shù)。
子帶譜熵概率
(13)
式中:分母為當(dāng)前m幀語(yǔ)音信號(hào)的總能量。
子帶譜熵
(14)
(5)對(duì)子帶譜熵的結(jié)果進(jìn)行噪聲預(yù)估計(jì),可得到噪聲的估計(jì)值Ts,計(jì)算方法如下:
(15)
式中:η為前5幀語(yǔ)音信號(hào)的譜熵均值;Hb(l)為第l幀語(yǔ)音信號(hào)的譜熵值。
(16)
式中:σ為前5幀語(yǔ)音信號(hào)的譜熵方差值。
Ts=η+α*σ,
(17)
式中:Ts為噪聲估計(jì)值;α為加權(quán)值。
進(jìn)行噪聲估計(jì)時(shí),將前5幀語(yǔ)音信號(hào)的譜熵均值與譜熵方差值進(jìn)行取加權(quán)平均計(jì)算,其中α=1.25。
(6)將計(jì)算所得Ts作為初始噪聲估計(jì)值,并與帶噪語(yǔ)音信號(hào)的子帶譜熵每一幀信號(hào)進(jìn)行比較,當(dāng)信號(hào)的譜熵值小于噪聲的初始估計(jì)值時(shí),開始進(jìn)行噪聲平滑,以獲得更新的噪聲值。信噪比
(18)
(7)運(yùn)用改進(jìn)譜減法對(duì)帶噪語(yǔ)音信號(hào)進(jìn)行降噪:
(19)
對(duì)參數(shù)α、β運(yùn)用公式(18)及先驗(yàn)信噪比進(jìn)行更新:
(20)
(21)
(8)通過(guò)上述步驟得到經(jīng)過(guò)語(yǔ)音增強(qiáng)的降噪語(yǔ)音信號(hào)功率譜,并對(duì)該功率譜進(jìn)行傅里葉反變換得到分幀語(yǔ)音信號(hào)。
(9)從處理過(guò)的語(yǔ)音信號(hào)中抽取出最終的語(yǔ)音序列。
(10)使用譜熵法對(duì)得到的語(yǔ)音信號(hào)進(jìn)行語(yǔ)音端點(diǎn)檢測(cè),得到端點(diǎn)檢測(cè)結(jié)果。
仿真實(shí)驗(yàn)基于MATLAB R2013a軟件進(jìn)行,其中語(yǔ)音信號(hào)為NOISEX-92噪聲庫(kù)、NOIZEUS語(yǔ)音庫(kù)的純凈語(yǔ)音信號(hào)、噪聲信號(hào)及各種信噪比情況下的含噪語(yǔ)音信號(hào),加入不同信噪比的含噪語(yǔ)音信號(hào)進(jìn)行端點(diǎn)檢測(cè)研究。
實(shí)驗(yàn)1選取的是一段加入5 dB白噪聲的語(yǔ)音信號(hào),分別運(yùn)用基本譜減法和本改進(jìn)算法進(jìn)行仿真比較,結(jié)果見圖3和圖4。
圖3 加入5 dB白噪聲信號(hào)的基本譜減法檢測(cè)結(jié)果
圖4 加入5 dB白噪聲信號(hào)的改進(jìn)算法檢測(cè)結(jié)果
觀察圖3和圖4發(fā)現(xiàn),本改進(jìn)算法在低信噪比情況下,對(duì)添加了5 dB白噪聲的語(yǔ)音信號(hào)具有更好的濾波效果。
實(shí)驗(yàn)2選取的是一段添加5 dB火車噪聲的語(yǔ)音信號(hào),運(yùn)用譜減法和本改進(jìn)算法進(jìn)行仿真比較,結(jié)果見圖5和圖6。
觀察圖5和圖6發(fā)現(xiàn),本改進(jìn)算法具有更好的濾波效果。
圖5 加入5 dB火車噪聲信號(hào)的基本譜減法檢測(cè)結(jié)果
圖6 加入5 dB火車噪聲信號(hào)的改進(jìn)算法檢測(cè)結(jié)果
實(shí)驗(yàn)3選取一段加入5 dB白噪聲的語(yǔ)音信號(hào),根據(jù)改進(jìn)型語(yǔ)音端點(diǎn)檢測(cè)算法來(lái)進(jìn)行端點(diǎn)檢測(cè),結(jié)果如圖7和圖8所示。
圖7 加入5 dB白噪聲信號(hào)的改進(jìn)算法檢測(cè)結(jié)果
圖8 改進(jìn)算法的語(yǔ)音信號(hào)端點(diǎn)檢測(cè)結(jié)果
仿真結(jié)果表明,改進(jìn)型多特征語(yǔ)音端點(diǎn)檢測(cè)算法在低信噪比情況下,對(duì)語(yǔ)音信號(hào)有較好的檢測(cè)效果。
本研究在基本譜減算法的基礎(chǔ)上提出了結(jié)合改進(jìn)譜減法與噪聲平滑的多特征端點(diǎn)檢測(cè)算法。仿真結(jié)果顯示,運(yùn)用改進(jìn)算法降噪后進(jìn)行端點(diǎn)檢測(cè)有很好的效果,而且在低信噪比情況下仍有較好的濾波效果,具有很好的適用性和有效性。