郭琪雯,陳福恩
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)
目前常用的基音檢測(cè)[1]方法中,ACF法[2]易出現(xiàn)基音半頻、倍頻錯(cuò)誤,AMDF法[3]常會(huì)出現(xiàn)均值下降的現(xiàn)象,倒譜法[4]的檢測(cè)誤差受噪聲影響較大。
針對(duì)上述方法在噪聲環(huán)境下的檢測(cè)精度不夠理想的問題,近年來許多學(xué)者提出了改進(jìn)的基音檢測(cè)算法。潘崢嶸等[5]提出了將經(jīng)過經(jīng)驗(yàn)?zāi)J椒纸獾腁MDF與ACF進(jìn)行加權(quán)的基音檢測(cè)算法,有效減少了半頻、倍頻的錯(cuò)誤,但其算法較為復(fù)雜。徐昕等[6]提出通過基于聽覺掩蔽的多頻帶譜減法對(duì)帶噪語音進(jìn)行減噪,再利用多門限法判決清濁音并加權(quán)ACF、AMDF進(jìn)行基音檢測(cè),其檢測(cè)正確率在信噪比很低的情況下仍較為理想,但譜減法對(duì)于非平穩(wěn)的語音信號(hào)會(huì)產(chǎn)生一定的檢測(cè)誤差。
在信號(hào)處理中,LMS濾波是自適應(yīng)濾波算法中最常用的方法之一,而變步長(zhǎng)LMS自適應(yīng)濾波不僅繼承了傳統(tǒng)LMS算法的優(yōu)點(diǎn),還同時(shí)兼顧了快速收斂和低穩(wěn)態(tài)失調(diào)誤差,能很好地處理信號(hào)中的噪聲[7]?;谝陨戏治?,本文將變步長(zhǎng)LMS自適應(yīng)濾波減噪與基音檢測(cè)兩者結(jié)合起來。首先利用變步長(zhǎng)LMS自適應(yīng)濾波器對(duì)帶噪語音信號(hào)進(jìn)行減噪,將減噪后的語音作為待處理信號(hào),基于其自相關(guān)函數(shù)、平均幅度差函數(shù)以及倒譜建立非線性組合函數(shù),通過檢測(cè)峰值提取基音周期,判斷所得結(jié)果是否在置信區(qū)間并處理野點(diǎn),從而更準(zhǔn)確地定位基頻點(diǎn)。實(shí)驗(yàn)結(jié)果表明,該算法與傳統(tǒng)的方法相比平滑了基音軌跡,準(zhǔn)確性更高,且在信噪比為-5 dB的環(huán)境下仍可得到較準(zhǔn)確的結(jié)果。
最小均方誤差(LMS)算法是在迭代過程中根據(jù)輸入信號(hào)估計(jì)梯度矢量并更新權(quán)系數(shù),最終使得輸出最優(yōu)的自適應(yīng)迭代算法。其準(zhǔn)則是使濾波器的輸出信號(hào)與已知期望響應(yīng)之間誤差的均方值最小[8],理論基礎(chǔ)是梯度最陡下降方法。
如圖1所示,輸入信號(hào)矢量為X(n)=[x1(n),x2(n),…,xM(n)]T,濾波器的權(quán)矢量為W(n)=[w1(n),w2(n),…,wM(n)]T,d(n)為期望輸出信號(hào),實(shí)際輸出為
y(n)=WTX(n)
(1)
則誤差估計(jì)可表示為
e(n)=d(n)-y(n)
(2)
將式(1)帶入式(2),兩邊取數(shù)學(xué)期望后得均方誤差為
E[e2(n)]=E[d2(n)]-2E[d(n)XT(n)]W+
WTE[X(n)XT(n)]W
(3)
由式(3)可看出均方誤差是權(quán)向量的二次函數(shù),因此為了得到最小均方誤差,選擇采用最陡下降法尋求加權(quán)矢量的最優(yōu)值,即先設(shè)置一個(gè)權(quán)初值W(0),權(quán)向量的所有分量在每個(gè)迭代周期發(fā)生改變[9],沿著負(fù)梯度方向不斷調(diào)整W,其迭代公式為
(4)
(5)
圖1 LMS算法原理
在固定步長(zhǎng)LMS算法中,濾波器的延遲導(dǎo)致輸出的語音波形前端仍有較大噪聲,通過增大步長(zhǎng)因子μ值可加快收斂速度,減少自適應(yīng)濾波器初始端的延遲量,但μ值增大同時(shí)會(huì)減小濾波后的信噪比,增大穩(wěn)態(tài)誤差。因此本文采用一種基于Sigmoid函數(shù)的變步長(zhǎng)LMS算法,其步長(zhǎng)因子μ(n)是誤差e(n)的Sigmoid函數(shù)[10],表達(dá)式為
(6)
1.2.1 短時(shí)自相關(guān)函數(shù)(ACF)
對(duì)于一語音信號(hào)x(n),經(jīng)加窗分幀后得第i幀語音信號(hào)為xi(m),則其短時(shí)自相關(guān)函數(shù)可表示為如式(7)所示
(7)
式中:k是時(shí)間的延遲量。
由于語音信號(hào)中只有濁音幀具有周期性,所以濁音幀的自相關(guān)函數(shù)也是周期信號(hào),且兩者周期相同,若設(shè)周期為T,則可知在延遲量為0,±T, ±2T,…時(shí)濁音幀的自相關(guān)函數(shù)達(dá)到峰值,因此可以通過檢測(cè)峰值的位置計(jì)算出基音周期。
1.2.2 改進(jìn)短時(shí)平均幅度差函數(shù)(MAMDF)
第i幀語音信號(hào)的短時(shí)平均幅度差函數(shù)可表現(xiàn)為如式(8)所示
(8)
對(duì)于呈周期性的濁音幀,其短時(shí)平均幅度差函數(shù)也具有與濁音周期一致的周期特性,而不一樣的是短時(shí)平均幅度差函數(shù)在基音周期的整數(shù)倍上不是達(dá)到峰值,而是谷點(diǎn)值。由于檢測(cè)谷值不如峰值方便,因此通過線性變換將尋找谷值轉(zhuǎn)換為尋找峰值[11]。
平均幅度差函數(shù)的極大值可連成一條負(fù)斜率的直線,把該直線與短時(shí)平均幅度差函數(shù)之間的差值做線性變換
(9)
式(9)中Di,max是Di(k)的最大值,其對(duì)應(yīng)的位置是ni,max,N為負(fù)斜率直線與x軸交點(diǎn)的橫坐標(biāo),DiM(k)是線性變換后改進(jìn)的AMDF,稱為MAMDF,從而可以實(shí)現(xiàn)谷值向峰值的轉(zhuǎn)變,則直接檢測(cè)峰值即可獲取基音周期。
1.2.3 倒譜
信號(hào)序列x(n)的倒譜是將其幅值譜取對(duì)數(shù)后再進(jìn)行傅里葉逆變換而得到的,表示為
(10)
式中:FT和FT-1分別表示傅里葉變換和逆變換。
由語音的數(shù)字信號(hào)模型可知,若不考慮口唇端輻射,語音x(n)可看作是由聲門脈沖激勵(lì)u(n)經(jīng)聲道響應(yīng)v(n)濾波所得的信號(hào)[12],即
x(n)=u(n)*v(n)
(11)
將式(11)左右兩端同時(shí)取倒譜得
(12)
由式(12)可知包含基音信息的聲門脈沖倒譜可與聲道響應(yīng)倒譜分離,濁音信號(hào)的周期性激勵(lì)在倒譜上也有著相同周期的沖激,因此可以通過檢測(cè)倒譜波形的峰值估算出基音周期。
然而以上3種方法單獨(dú)使用時(shí)都有各自的缺陷,如ACF函數(shù)法會(huì)出現(xiàn)半頻或倍頻的誤判,倒譜法的檢測(cè)結(jié)果易受噪聲影響,無法獲得較理想的基音檢測(cè)結(jié)果。分析可知,語音信號(hào)第i幀所求的短時(shí)自相關(guān)函數(shù)Ri(k)、改進(jìn)MAMDF值DiM(k)以及倒譜Bi(k)周期性基本一致,因此本文建立了一個(gè)非線性組合函數(shù),記作
Wti(k)=Rni2(k)×(DiM(k)+Bi(k))
(13)
為了避免函數(shù)Wti(k)的幅值過大而影響基音檢測(cè)結(jié)果,式(13)中的Rni(k)取第i幀短時(shí)自相關(guān)函數(shù)Ri(k)的歸一化值。通過檢測(cè)Wti(k)的峰值來計(jì)算基音周期,目的是在現(xiàn)有方法的基礎(chǔ)上更加突出基音周期處的峰值,從而提高基音檢測(cè)的準(zhǔn)確性。
通過上述方法進(jìn)行基音檢測(cè)后,所求基音頻率曲線仍會(huì)出現(xiàn)有些基頻值明顯偏離了正常值的現(xiàn)象,為了去除這部分野點(diǎn)需要對(duì)其作平滑處理。首先,求出每一幀Wti(k)的峰值所對(duì)應(yīng)的位置pi(即延遲量),其次計(jì)算出其平均值m和標(biāo)準(zhǔn)差t,并設(shè)置一個(gè)置信區(qū)間為(m-t+2,m+t-2),對(duì)于標(biāo)準(zhǔn)差很小的計(jì)算結(jié)果不作處理,而當(dāng)標(biāo)準(zhǔn)差大于2時(shí),對(duì)于Wti(k)峰值所對(duì)應(yīng)的延遲量不在置信區(qū)間內(nèi)的幀,即pi
(14)
若|Fr(i)*2-Fr(i-1)|<25,則將該幀的基頻值更改為如式(15)所示
Fr(i)’=Fr(i)*2
(15)
這樣可以更有效地消除半頻、倍頻錯(cuò)誤對(duì)于基音檢測(cè)結(jié)果的影響。
本文提出的改進(jìn)基音檢測(cè)算法流程可分為語音信號(hào)的預(yù)處理,變步長(zhǎng)LMS減噪,歸一化ACF函數(shù)、MAMDF函數(shù)和倒譜的非線性組合函數(shù)計(jì)算,基音周期、基音頻率的提取以及平滑處理。具體流程框架如圖2所示,其步驟總結(jié)如下:
(1)對(duì)語音信號(hào)x(n)進(jìn)行加窗分幀,并利用能熵比法進(jìn)行端點(diǎn)檢測(cè);
(2)使用帶寬為60 Hz~500 Hz的橢圓帶通濾波器對(duì)x(n)進(jìn)行初濾波,以減少共振峰和低頻噪聲的干擾;
(3)對(duì)預(yù)處理后的語音信號(hào)采用變步長(zhǎng)LMS自適應(yīng)濾波器進(jìn)行降噪;
(4)分別計(jì)算降噪后信號(hào)的短時(shí)自相關(guān)函數(shù)歸一化值、改進(jìn)短時(shí)平均幅度差函數(shù)以及倒譜,然后求其非線性組合函數(shù)Wti(k),找到每一幀Wti(k)的峰值所對(duì)應(yīng)的位置pi,對(duì)于pi不在置信區(qū)間內(nèi)的所在幀進(jìn)行糾正,從而得到基音周期;
(5)計(jì)算基音頻率并通過判斷相鄰幀的基頻差值,做進(jìn)一步的平滑處理。
圖2 基音檢測(cè)改進(jìn)算法的流程
為了驗(yàn)證本文提出的改進(jìn)基音檢測(cè)方法的有效性,使用MATLAB軟件進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)中采用的語音樣本是計(jì)算機(jī)聲卡在安靜環(huán)境下錄制的wav格式語音文件,采樣頻率為8000 Hz,量化比特為16 Bit,分幀幀長(zhǎng)取為200采樣點(diǎn),幀移取為100采樣點(diǎn)。
選用一時(shí)長(zhǎng)約5 s的女聲錄音文件作為實(shí)驗(yàn)樣本,通過添加高斯白噪聲分別生成信噪比為5 dB、0 dB以及-5 dB的帶噪語音。利用變步長(zhǎng)LMS濾波器對(duì)這3種語音信號(hào)的減噪效果分別如圖3(a)~圖3(c)所示,由圖可知該方法在3種不同情況下都使信噪比得到了大幅度提升,5 dB時(shí)信噪比提高到17 dB,0 dB時(shí)信噪比提高到約15 dB,即使在信噪比為-5 dB的情況下,經(jīng)過濾波后的語音信噪比也提高到12 dB,減噪效果顯著。
圖3 不同信噪比情況下的變步長(zhǎng)LMS濾波效果
取實(shí)驗(yàn)一中的一幀去噪語音,分別計(jì)算它的ACF歸一化值、MAMDF值、倒譜值以及本文建立的非線性組合函數(shù)值,其對(duì)應(yīng)的函數(shù)波形圖分別如圖4(a)~圖4(d)所示。由圖4(a)、圖4(b)可知,ACF函數(shù)、MAMDF函數(shù)在采樣點(diǎn)約20的位置都呈現(xiàn)出“偽峰值”,其實(shí)際對(duì)應(yīng)于共振峰峰值點(diǎn)。而圖4(c)中的倒譜波形波動(dòng)幅度小,呈現(xiàn)出的峰值相對(duì)不尖銳。本文建立的非線性組合函數(shù)相較于單一的ACF函數(shù)、MAMDF函數(shù)、倒譜而言,在周期的整數(shù)倍處(采樣點(diǎn)約40的位置)峰值更加突出,有效地削弱了“偽峰值”點(diǎn)的影響。
圖4 一幀語音的不同函數(shù)波形對(duì)比
分別用短時(shí)自相關(guān)函數(shù)法、改進(jìn)短時(shí)平均幅度差函數(shù)法、倒譜法以及本文方法對(duì)實(shí)驗(yàn)一中的語音信號(hào)進(jìn)行基音檢測(cè),其中信噪比為-5 dB時(shí)各方法得到的基音周期如圖5所示。圖6(a)~圖6(d)將每種方法所得基音頻率波形放在語譜圖上進(jìn)行對(duì)比,可看出單一的ACF函數(shù)法、MAMDF函數(shù)法以及倒譜法都出現(xiàn)了明顯的半頻、倍頻等誤判的情況,而本文方法所求得基頻曲線與語譜圖上的實(shí)際基頻曲線重合度很高,幾乎無倍頻、半頻的錯(cuò)誤,基頻軌跡也相對(duì)更加平滑。
圖5 不同方法基音檢測(cè)結(jié)果對(duì)比
為了檢驗(yàn)本文方法的魯棒性,在200組干凈語音(其中100組男聲、100組女聲)中分別加入信噪比為5 dB、0 dB以及-5 dB的高斯白噪聲,并以短時(shí)自相關(guān)函數(shù)法加人工校正得到的基音值作為正確參考值,對(duì)ACF函數(shù)法、MAMDF函數(shù)法、倒譜法以及本文方法的基音檢測(cè)正確率進(jìn)行比較。
圖6 不同方法語譜圖上的基頻曲線對(duì)比
從表1可以看出,在3種不同的信噪比環(huán)境下,ACF法、MAMDF法、倒譜法的檢測(cè)正確率都維持在80%到87%左右,而本文方法的檢測(cè)正確率一直保持在90%以上,明顯高于傳統(tǒng)的基音檢測(cè)方法。即使在信噪比為-5 dB的情況下,正確率也達(dá)到了91.9%,比另3種方法都提高了10%左右,從而驗(yàn)證了本文方法具有更高的準(zhǔn)確性,且魯棒性很好。
表1 不同方法基音檢測(cè)正確率對(duì)比/%
本文將變步長(zhǎng)LMS自適應(yīng)濾波與組合短時(shí)自相關(guān)函數(shù)、改進(jìn)短時(shí)平均幅度差函數(shù)、倒譜三者的基音檢測(cè)法相結(jié)合,提出了一種改進(jìn)的基音檢測(cè)算法。首先采用變步長(zhǎng)LMS 自適應(yīng)濾波器對(duì)帶噪語音進(jìn)行減噪,其次改進(jìn)傳統(tǒng)的ACF、MAMDF、倒譜法再對(duì)減噪后的語音進(jìn)行基音檢測(cè),最后利用置信區(qū)間以及相鄰基頻差值對(duì)檢測(cè)結(jié)果做平滑處理。仿真結(jié)果表明,本文的改進(jìn)算法不僅有效地減少了倍頻、半頻的誤判,提高了基音檢測(cè)的精度,而且即使在信噪比為-5 dB的情況下,檢測(cè)結(jié)果依然明顯優(yōu)于傳統(tǒng)算法,魯棒性最好。