唐曉進
(國營大眾機械廠,山西太原 030024)
語音信號按Niquest采樣頻率采樣后,得到數(shù)字化表示的語音信號。由于采樣率一般在8kHz以上,經(jīng)數(shù)字化后的語音信號,數(shù)據(jù)量很大,不便于有效、實時地分析處理,故需從中提取對語音識別有用的信息。特征提取就是完成這項工作,它對語音信號進行分析處理,去除無關(guān)緊要的冗余信息,獲得影響語音識別的重要信息。在特征提取的眾多方法中,由于倒譜特征所包含的信息比其它參數(shù)多,能較好地表征語音信號,本文選用LPC倒譜系數(shù)(LPCC)作為特征參數(shù)提取。
語音識別本質(zhì)上是一種模式識別的過程,其基本結(jié)構(gòu)原理框圖如圖1所示,主要包括語音信號預(yù)處理、特征提取、特征建模、相似性度量和后處理等幾個功能模塊[1]。
圖1 語音識別基本原理圖
語音識別系統(tǒng)常用的特征參數(shù)有幅度、能量、過零率、線性預(yù)測系數(shù)(LPC)、LPC倒譜系數(shù)(LPCC)、線譜對參數(shù)(LSP)、短時頻譜、共振峰頻率、反映人耳聽覺特征的Mel頻率倒譜系數(shù)(MFCC)等。語音識別一般是語音特征參數(shù)模式的識別和比較,因此特征參數(shù)的選擇以及提取,對于語音識別系統(tǒng)至關(guān)重要,是系統(tǒng)構(gòu)建的基礎(chǔ)[2]。
在語音識別問題中,選擇語音特征參數(shù)的主要依據(jù)是:
(1)該特征能夠充分正確地反映語音聲道譜,以便識別模型中利用其特征。
(2)語音特征維數(shù)達到有效地壓縮,將語音幀信號維數(shù)降低至特征參數(shù)的維數(shù),使后繼處理方便、快捷。
(3)特征參數(shù)的計算方法簡便、高效,能在各種實時系統(tǒng)中實現(xiàn)。
依據(jù)語音信號產(chǎn)生的生理和數(shù)學(xué)模型可知,語音信號是音源激勵分量與聲道沖激響應(yīng)、輻射模型三者相乘的產(chǎn)物。因此通過語音信號的倒譜分析可有效地分離激勵成分和聲道成分。
計算語音信號的倒譜使用根據(jù)AR模型對LPC參數(shù)進行遞推,形成LPC倒譜的方法。線性預(yù)測分析方法是一種譜估計的方法,而且其聲道模型系統(tǒng)函數(shù)H(z)反映了聲道的頻率響應(yīng)和原始信號的譜包絡(luò),因此用lgH(z)做反Z變換即可求出其LPC倒譜系數(shù)(LPCC)[3]。
通過線性預(yù)測分析得到的聲道模型為全極點模型,假設(shè)其系統(tǒng)函數(shù)為:
其中p為LPC線性預(yù)測器的階數(shù)。設(shè)其沖激響應(yīng)為h(n),則:
將式(1)代入并將其兩邊對z-1求偏導(dǎo)數(shù),經(jīng)變換后,可得到和ak之間的遞推關(guān)系,從而由ak求出(n):
需要求h(n)的復(fù)倒譜(n),根據(jù)復(fù)倒譜定義,有:
其中ak為LPC系數(shù),而p為其階數(shù)。
(n)將變得很小,實際上沒有更大的作用,反而使得運算量增大。一般取8~32階時就可以較好地表征聲道特征。
本設(shè)計先對語音信號進行預(yù)加重處理,然后進行加窗、自相關(guān)分析,最后提取出LPC倒譜系數(shù)[4],具體流程圖如下:
圖2 LPC倒譜系數(shù)提取過程
(1)預(yù)加重
用于消除輻射的影響和聲門效應(yīng),進行高頻提升,使信號的頻譜變得平坦,保持在低頻到高頻的整個頻帶中,能用同樣的信噪比求頻譜,以便于頻譜分析或聲道參數(shù)分析。使用語句“for(j=1;j< Framelen;j++)pre_data[j]=original[j]-0.95*original[j-1]”對信號進行預(yù)加重處理,F(xiàn)ramelen為定義的幀長。
(2)分幀
把語音信號分成幀長為N的短時語音幀序列。本設(shè)計中錄音采樣率為8kHz,N對應(yīng)的時間為25ms。程序中用“#define Framelen 256”語句表示。
(3)加窗
對語音信號數(shù)字化、分幀處理后,就要進行加窗處理。語音信號分析中最常用的窗函數(shù)是矩形窗、海寧窗和漢明窗。因為漢明窗旁瓣最低,可以有效地克服泄漏現(xiàn)象,具有更平滑的低通特性,故本設(shè)計采用漢明窗來消除由分幀引起的信號邊緣蛻變,漢明窗定義如下:
漢明窗
其中L為窗長。
使用函數(shù) MultiHamming(float*pre_date,float*data),pre_date為預(yù)處理后的信號,data為加窗處理后的數(shù)據(jù)。
(4)自相關(guān)及LPC分析
加窗處理后的各幀信號之間的自相關(guān)計算為:
P為LPC分析的階數(shù)。
信號經(jīng)過LPC分析得到P階的LPC系數(shù)。
根據(jù)Durbin遞推算法求解LPC系數(shù):
公式中,上標(biāo)(i)表示第i次迭代,每次迭代都要重新更新 α1,α2…αi,直到i=p時,結(jié)束迭代,p為預(yù)測系數(shù)的階數(shù)。
定義 AutoCorrelate(int n,float*s1,int m,float*a,int mark)函數(shù)來計算LPC系數(shù)(包括自相關(guān)系數(shù)),其中,n為幀長,m為階數(shù),s1為輸入的信號數(shù)據(jù),a即為LPC系數(shù);定義 CepCoeffient(int m,int n,float*a,float*cepp)函數(shù)來計算LPC倒譜系數(shù)。
(5)LPC系數(shù)轉(zhuǎn)換
由P階的LPC系數(shù)轉(zhuǎn)換得到Q階的Cepstral系數(shù)。
倒譜定義為:
其中K為倒譜的階數(shù)。
對語音信號通過HMM(隱馬爾可夫)識別網(wǎng)絡(luò)進行LPCC特征參數(shù)提取,得出其分別在各個信噪比下的語音信號識別率,見表1。
因為低階倒譜參數(shù)對整個頻譜參數(shù)斜率很敏感,而高階的倒譜參數(shù)對噪聲很敏感,所以在實際計算時,要對倒譜進行加權(quán),或稱為倒譜提升。
其定義為:其中wm定義如下:
表1 語音信號識別率(識別網(wǎng)絡(luò):HMM(隱馬爾可夫)神經(jīng)網(wǎng)絡(luò))
本設(shè)計針對特征參數(shù)提取的各種方法,選用LPCC進行特征提取。通過對語音信號進行預(yù)加重、分幀、加窗、自相關(guān)分析,而后提取出的LPC倒譜系數(shù),對語音信號的分析處理,去除對語音識別無關(guān)緊要的冗余信息,獲得影響語音識別的重要信息有重要作用。
[1]張剛,張雪英,馬建芬.語音處理與編碼[M].北京:兵器工業(yè)出版社,2000.
[2]王讓定,柴佩琪.語音倒譜特征的研究[J].計算機工程,2003(8):31-33.
[3]葉明,顧利民.LPC倒譜參數(shù)的說話人特征分析[J].南京航空航天大學(xué)學(xué)報,1994,6(12):797-804.
[4]趙力.語音信號處理[M].北京:機械工業(yè)出版社,2003.
[5]易克初.語音信號處理[M].北京:國防工業(yè)出版社,2000.