無錫機(jī)電高等職業(yè)技術(shù)學(xué)校自動化工程系 郭 昕
語音識別的研究工作始于20世紀(jì)50年代,1952年Bell實驗室開發(fā)的Audry系統(tǒng)是第一個可以識別10個英文數(shù)字的語音識別系統(tǒng)。隱馬爾可夫模型是20世紀(jì)70年代引入語音識別理論的,它的出現(xiàn)使得自然語音識別系統(tǒng)取得了實質(zhì)性的突破。目前大多數(shù)連續(xù)語音的非特定人語音識別系統(tǒng)都是基于HMM模型的。[1]
一般來說,語音識別的方法有三種:基于聲道模型和語音知識的方法、模板匹配的方法以及利用人工神經(jīng)網(wǎng)絡(luò)的方法。語音識別一個根本的問題是合理的選用特征。特征參數(shù)提取的目的是對語音信號進(jìn)行分析處理,去掉與語音識別無關(guān)的冗余信息,獲得影響語音識別的重要信息,同時對語音信號進(jìn)行壓縮。非特定人語音識別系統(tǒng)一般側(cè)重提取反映語義的特征參數(shù),盡量去除說話人的個人信息;而特定人語音識別系統(tǒng)則希望在提取反映語義的特征參數(shù)的同時,盡量也包含說話人的個人信息。
而隨著時頻技術(shù)的研究發(fā)展,使人們在進(jìn)行信號處理時,可以將語音信號分解在一組完備的正交基上。從而,語音信號的能量在分解以后將分散分布在不同的基上。但是,語音信號是一種典型的非平穩(wěn)信號,其性質(zhì)隨時間快速變化,在兩個不同的時間瞬間,在同一個頻率鄰域內(nèi),信號可以有完全不同的能量分布。因此,有必要找到一種精確表示語音信號時頻結(jié)構(gòu),便于特征提取的方法。[2]
立足于此,本文提出,通過平移窗口,用余弦基乘以窗口函數(shù),構(gòu)造出局部余弦基,分離不同時間區(qū)間,很適合于逼近語音信號。本文使用這種具有活動窗口特性的局部余弦基表示語音信號。為了減少計算量,并進(jìn)一步提高局部余弦基原子時頻分布的分辨率,采用匹配追蹤(MP)算法分解信號,并結(jié)合時頻分析技術(shù)得到最優(yōu)局部余弦基原子的魏格納-維利分布(WVD)[2],從而得到信號精確的時頻結(jié)構(gòu)[3],進(jìn)行特征提取。此外,結(jié)合語音信號的美爾頻率倒譜系數(shù)(MFCC)一起作為該信號的特征向量,通過隱馬爾科夫(HMM)模型進(jìn)行識別。實驗證明。這種多參數(shù)語音識別算法提高了識別的準(zhǔn)確度和速度。
通過光滑地劃分時間序列為任意長度的子區(qū)間 [a p,ap+1](如圖1),可使每一個時間段分別由重疊正交基表示,而整個時間序列的基函數(shù)又構(gòu)成時頻平面的正交鋪疊,因此局部余弦變換對在不同時間段有不同的波形的語音信號有很強(qiáng)的針對性。
圖1 重疊窗口劃分時間軸Figure1 lapped window divides time axis
圖1中g(shù) p(t)為重疊窗口函數(shù)[3]:
式中β為單調(diào)遞增的輪廓函數(shù),定義為[3]:
局部余弦函數(shù)族構(gòu)成了實數(shù)軸上平方可積函數(shù)空間的規(guī)范正交基:
式中l(wèi)p為窗口支集伸縮參數(shù);ap為第P段時間起點;n(0 ≤n≤lp)表示正交基序列號。
語音信號可表示為:
gγn(t)是余弦基原子,γ=(a p,lp,η)。其中ap是窗口支集邊界參數(shù),lp為窗口支集伸縮參數(shù),η是輪廓函數(shù)β的尺度參數(shù),這保證了窗口支集只與相鄰的具有適當(dāng)對稱性的窗口重合,達(dá)到局部余弦基精確覆蓋整個時頻平面的目的。
由Mallat和Zhang引入的匹配追蹤算法運用貪婪技巧減少了計算的復(fù)雜性。它從局部余弦基構(gòu)成的冗余字典中一個一個挑選向量,每一步都使信號的逼近更為優(yōu)化。
MP算法將信號分解成一簇時頻原子的線性表達(dá),這些原子選自高冗余度的函數(shù)字典中,且最好地符合f(t) 內(nèi)在結(jié)構(gòu)。假設(shè)函數(shù)集是Hilbert空間中一個完備字典滿足,最優(yōu)的M階近似為:
設(shè)由M個時頻函數(shù)近似的信號與f(t) 的誤差ε最小,ε表達(dá)式如下:
其中{γi}i=0...M代表所選函數(shù)gγi的索引。
首先按照某個選擇函數(shù)(與f(t) 的內(nèi)積最大)逐個挑選出時頻函數(shù)g0γ,f(t) 分解為:,設(shè)初始輸入信號f(t)為初始?xì)埐钚盘朢0f,Rf表示f(t)在gγ0方向上近似后的冗余部分。
假設(shè)已有M
R f表示經(jīng)過前M-1次迭代后,f(t)中未表達(dá)部分:選定為最匹配R Mf的時頻函數(shù),R Mf按如下公式分解為:
由于每步中R M+1f與gri正交,如果字典是完備的,則迭代收斂于f,滿足:
這樣,可估算出(4)式中局部余弦基原子的參數(shù)bn=<R Mf,gγi>。
文獻(xiàn)[4]中提出,選出最匹配信號的基,對每一個基求出其WVD分布,信號f(t) 的WVD分布就表示其最優(yōu)基的WVD的線性組合,這樣就消除了交叉項的影響。由此得到f(t) 的WVD分布:
WVDgγn(t,w)是局部余弦基字典中被選中的最優(yōu)基的WVD分布。將等式左邊第二項交叉項組合去除,這樣在時頻面上就得到了干凈的時頻表示:
在語音信號稀疏分解過程中,每步分解都要從過完備原子庫中選出與待分解語音信號f(t)或語音信號分解殘余R Mf最為匹配的原子gγi,原子是由參數(shù)γ=(a p,lp,η)公式(4)決定的。因此語音信號稀疏分解所得原子的 參數(shù)γ=(a p,lp,η)可作為語 音信 號的 特征。此外,根據(jù)公式(10),使用匹配追蹤法選取的最佳基的WVD分布Es,含有該語音信號重要且獨特的信息,也可作為該語音信號的特征。
特征提取基于語音幀,即將語音信號分為有重疊的若干幀,對每一幀提取一次語音特片。由于語音特征的短時平穩(wěn)性,幀長一般選取20ms左右。在分幀時,前一幀和后一幀的一部分是重疊的,用來體現(xiàn)相鄰兩幀數(shù)據(jù)之間的相關(guān)性,通常幀移為幀長1/2。本文為了方便做MP,采用的幀長為512點(32ms),幀移為256點(16ms)。特征的選擇需要綜合考慮存儲量的限制和識別性能的要求。通常的語音識別系統(tǒng)使用24維特征矢量,包括12維MFCC和12維一階差分MFCC。本文提出的多參數(shù)語音識別算法,在此基礎(chǔ)上增加了原子參數(shù)γ=(a p,lp,η)公式(4)和最佳基的WVD分布Es公式(10),這兩維特征,構(gòu)成26維特征矢量。對MFCC和語音信號能量的WVD分布Es分別使用了倒譜均值減CMS(Cepstrum Mean Subtraction)和能量歸一化ENM(Energy Normalization)的處理方法提高特征的穩(wěn)健性[5]。
在HMM模型中,首先定義了一系列有限的狀態(tài)S1,…,SN,系統(tǒng)在每一個離散時刻n只能處在這些狀態(tài)當(dāng)中的某一個Xn。在時間起點n=0時刻,系統(tǒng)依初始概率矢量π處在某一個狀態(tài)中,即:
以后的每一個時刻n,系統(tǒng)所處的狀態(tài)Xn僅與前一時刻系統(tǒng)的狀態(tài)有關(guān),并且依轉(zhuǎn)移概率矩陣A跳轉(zhuǎn),即:
系統(tǒng)在任何時刻n所處的狀態(tài)Xn隱藏在系統(tǒng)內(nèi)部,并不為外界所見,外界只能得到系統(tǒng)在該狀態(tài)下提供的一個Rq空間隨機(jī)觀察矢量On。On的分布P稱為輸出概率矩陣,只取決于On所處狀態(tài):
因為該系統(tǒng)的狀態(tài)不為外界所見,因此稱之為“隱含馬爾科夫模型”,簡稱HMM。在識別中使用的隨機(jī)觀察矢量就是從信號中提取的特征矢量。按照隨機(jī)矢量Qn的概率分布形時,其概率密度函數(shù)一般使用混合高斯分布擬合。
其中,M為使用的混合高斯分布的階數(shù);Cm為各階高斯分布的加權(quán)系數(shù)。此時的HMM模型為連續(xù)HMM模型(Continuous density HMM),簡稱CHMM模型[6]。在本識別系統(tǒng)中,采用孤立詞模型,每個詞條7個狀態(tài),同時包括首尾各一個靜音狀態(tài);每個狀態(tài)使用3階混合高斯分布擬合。
構(gòu)建局部余弦基字典,使用MP算法選取語音信號“A”的最佳基。如圖2所示。得到的E s(t,w)時頻圖既保留了余弦基原子高時頻聚集性的優(yōu)點,又削弱了WVD作為二次型時頻表示所固有的交叉項的影響,得到了干凈的時頻面。其結(jié)果更精確的反映出語音信號在頻率、音強(qiáng)方面的特征,具有良好的時頻聚集性。
圖2 “A“信號的WVD分布Figure2 WVD of“A”
在語音識別實驗中,采用信號長度為1024的200個實際語音信號樣本,其中100個用于訓(xùn)練,100個用于測試。該實驗用以識別出語音信號”A”。實驗利用WaveCN2.0錄音系統(tǒng)進(jìn)行樣本采集,采樣率為8kHz。得到語音信號的有效部分后,提取樣本信號的MFCC參數(shù)作為語音信號的特征參數(shù)之一。Mel濾波器的階數(shù)為24,fft變換的長度為256,采樣頻率為8kHz。MFCC的相關(guān)波形見圖3。
圖3 “A“信號的MFCC波形Figure3 MFCC Waveform of“A”
然后利用MP算法將樣本信號分解為300個原子,將所得原子的參數(shù)γ=(a p,lp,η)和最佳基的WVD分布Es,作為該語音信號的特征參數(shù)之二。見圖2。通過HMM進(jìn)行識別。
在實驗中,設(shè)語音”A”類值為1,其他的語音類值為-1。HMM模型的狀態(tài)數(shù)為7,高斯混合數(shù)為3。由第4節(jié)HMM訓(xùn)練的定義可知,重估過程中的輸出概率是隨著重估次數(shù)的遞增而增加的,圖4列出了“A”模型訓(xùn)練期間重估次數(shù)與總和輸出概率的log值之間的關(guān)系。由圖可以看出,“A”模型重估20次算法收斂,并且,輸出概率與重估次數(shù)成正比趨勢。
圖4 重估次數(shù)與總和輸出概率Figure4 Iterations of EM and output like lihood
對語音進(jìn)行上述HMM訓(xùn)練之后,將其模型參數(shù)存貯,獲得了識別的HMM模型庫。在識別階段,對100個測試用數(shù)據(jù)進(jìn)行語音識別,以檢驗本文系統(tǒng)的識別效果。如表1所示識別精度為89%,平均識別時間約為1.313秒,實驗結(jié)果表明,系統(tǒng)識別率和運算速度都比較理想。
表1 識別結(jié)果
增加了局部余弦基原子的參數(shù)γ=(a p,lp,η)和最佳基的WVD分布Es作為特征參數(shù),較單純的使用MFCC作為特征參數(shù)進(jìn)行HMM模型訓(xùn)練,識別率有一定提高,見表2。
表2 結(jié)果比較
本文在傳統(tǒng)基于HMM模型的語音識別基礎(chǔ)上,通過匹配追蹤算法,提取出最佳基的原子參數(shù)γ=(a p,lp,η)和WVD分布Es。二者與MFCC一起,作為本文提出的多參數(shù)語音識別算法的特征向量。然后選擇了大量孤立詞樣本進(jìn)行仿真實驗,針對非特定人孤立詞進(jìn)行語音識別。結(jié)果表明,基于HMM和匹配追蹤的多參數(shù)語音識別算法,可提高語音識別的速度和準(zhǔn)確度,有一定的實用性。但是,由于算法的復(fù)雜性增加,運算量相應(yīng)增大,簡化算法運算量仍是需要深入研究的課題。
[1]何方偉,青木由直.DP動態(tài)匹配算法實現(xiàn)語音的實時識別[J].數(shù)據(jù)采集與處理,vol.4,no.1,Mar,1989.
[2]R.R.Coifman,M.V.Wickerhauser.Entropy-based algorithms for best basis selection[J].IEEE Trans.Info.Theory,38(2):713-718,March 1992.
[3]S Mallat,Z Zhang.Matching Pursuit with Time-Frequency Dictionaries[J].IEEE Trans.Signal Processi ng,1993,41(12):3397-3415.
[4]R Gribonval.Fast matching pursuit with a multiscale dictionary of Gaussian Chirps[J].IEEE Trans.Signal Processing,2001,49(5):994-1001.
[5]于建潮,張瑞林.基于MFCC 和LPCC的說話人識別[J].計算機(jī)工程與設(shè)計,2009,30(5):1189-1191.
[6]王作英,肖熙.基于段長分布的HMM語音識別模型[J].電子學(xué)報,2004,vol.32,no.1:46-49.