《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 語音識(shí)別中DTW改進(jìn)算法的研究
語音識(shí)別中DTW改進(jìn)算法的研究
來源:微型機(jī)與應(yīng)用2011年第3期
胡金平,,陳若珠,,李戰(zhàn)明
(蘭州理工大學(xué) 電氣工程與信息工程學(xué)院,,甘肅 蘭州 730050)
摘要: 動(dòng)態(tài)時(shí)間規(guī)整DTW是語音識(shí)別中的一種經(jīng)典算法。對(duì)此算法提出了一種改進(jìn)的端點(diǎn)檢測算法,,特征提取采用了Mel頻率倒譜系數(shù)MFCC,,并采用計(jì)算量相對(duì)較小的改進(jìn)的動(dòng)態(tài)時(shí)間規(guī)整算法實(shí)現(xiàn)語音參數(shù)模板匹配,能夠?qū)崿F(xiàn)孤立詞,、特定人,、小詞匯量的語音識(shí)別,并用Matlab進(jìn)行了算法仿真,。試驗(yàn)結(jié)果表明,,改進(jìn)后的算法能夠有效地提高系統(tǒng)對(duì)語音的識(shí)別率,。
Abstract:
Key words :

摘  要: 動(dòng)態(tài)時(shí)間規(guī)整DTW是語音識(shí)別中的一種經(jīng)典算法。對(duì)此算法提出了一種改進(jìn)的端點(diǎn)檢測算法,,特征提取采用了Mel頻率倒譜系數(shù)MFCC,,并采用計(jì)算量相對(duì)較小的改進(jìn)的動(dòng)態(tài)時(shí)間規(guī)整算法實(shí)現(xiàn)語音參數(shù)模板匹配,能夠?qū)崿F(xiàn)孤立詞,、特定人,、小詞匯量的語音識(shí)別,并用Matlab進(jìn)行了算法仿真,。試驗(yàn)結(jié)果表明,,改進(jìn)后的算法能夠有效地提高系統(tǒng)對(duì)語音的識(shí)別率。
關(guān)鍵詞: 語音識(shí)別,;端點(diǎn)檢測,;Mel倒譜參數(shù);動(dòng)態(tài)時(shí)間規(guī)整

 在孤立詞語音識(shí)別中,,最為簡單有效的方法是采用動(dòng)態(tài)時(shí)間規(guī)整DTW(Dynamic Time Warping)算法,該算法基于動(dòng)態(tài)規(guī)劃(DP)的思想,,解決了發(fā)音長短不一的模板匹配問題,,是語音識(shí)別中出現(xiàn)較早、較為經(jīng)典的一種算法,。DTW是把時(shí)間規(guī)整和距離測度計(jì)算結(jié)合起來的一種非線性規(guī)整技術(shù),,算法較為簡潔,正確率也較高,,在語音識(shí)別系統(tǒng)中有較廣泛的應(yīng)用,。
 本文對(duì)DTW算法提出了一種改進(jìn)的端點(diǎn)檢測算法,對(duì)提高系統(tǒng)的識(shí)別率有很好的實(shí)用價(jià)值[1],。
1 語音識(shí)別系統(tǒng)與DTW算法原理    
 本質(zhì)上講,,語音識(shí)別就是語音信號(hào)模式識(shí)別[2],它由訓(xùn)練和識(shí)別兩個(gè)過程完成,。訓(xùn)練過程是從某一說話人大量語音信號(hào)中提取出該說話人的語音特征,,并形成參考模式。識(shí)別過程是從待識(shí)語音中提取特征形成待識(shí)模式,,與參考模式進(jìn)行模式匹配,、比較和判決,從而得出識(shí)別結(jié)果,。本系統(tǒng)的結(jié)構(gòu)如圖1所示,。

 假設(shè)測試和參考模板分別用T和R表示,它們之間的相似度用其之間的距離D[T,,R]來度量,,距離越小相似度越高[3],。為了計(jì)算這一失真距離,要從T,、R中各個(gè)對(duì)應(yīng)幀之間的距離算起,。設(shè)n、m分別是T,、R中任意選擇的幀號(hào),,d[T(n),R(m)]表示這兩幀特征矢量之間的距離(在DTW算法中通常采用歐式距離),。
 如圖2所示,,橫軸上標(biāo)出的是測試模板T的各個(gè)幀號(hào)n=1~N,縱軸上是參考模板R的各個(gè)幀號(hào)m=1~M,,N≠M,。網(wǎng)格中的每一個(gè)交叉點(diǎn)(n,m)表示測試模式中某一幀與訓(xùn)練模式中某一幀的交匯點(diǎn),。DP算法就是尋找一條通過此網(wǎng)格中若干個(gè)格點(diǎn)的路徑,。路徑不是隨意選擇的,首先任何一種語音的發(fā)音快慢都有可能變化,,但是其各部分的先后次序不可能改變,,因此所選的路徑必定是從左下角出發(fā),在右上角結(jié)束,。


 式中,,sgn[ ]是符號(hào)函數(shù)。
 為了提高端點(diǎn)檢測的精度,,采用短時(shí)能量和過零率進(jìn)行端點(diǎn)檢測[4],。語音采樣頻率為8 kHz,量化精度為16 bit,。數(shù)字PCM碼首先經(jīng)過預(yù)加重濾波器H(z)=1-0.95z-1,,再進(jìn)行分幀和加窗處理。在實(shí)驗(yàn)中發(fā)現(xiàn),,雙門限端點(diǎn)檢測算法對(duì)于兩個(gè)漢字和三個(gè)漢字的語音命令端點(diǎn)檢測效果不好,。以語音“你好”為例,如圖3語音波形圖中,,端點(diǎn)檢測只能檢測到第1個(gè)字,。

 如果語音命令中兩個(gè)字的間隔過長,使用雙門限端點(diǎn)檢測法會(huì)發(fā)生只檢測到第一個(gè)字的情況,,從而可能造成語音匹配錯(cuò)誤,。為避免該錯(cuò)誤,把可容忍的靜音區(qū)間擴(kuò)大到15幀,如15幀內(nèi)一直沒有能量和過零率超過最低門限,,則認(rèn)為語音結(jié)束,;如發(fā)現(xiàn)仍然有話音,則把能量和過零率計(jì)算在內(nèi)[5],。
 整個(gè)語音信號(hào)的端點(diǎn)檢測流程設(shè)計(jì)為四個(gè)階段:靜音段,、過渡段、語音段和語音結(jié)束,。在靜音段,,如果能量或過零率超越低門限,就開始標(biāo)記起始點(diǎn),,進(jìn)入過渡段,。在過渡段,由于參數(shù)的數(shù)值較小,,不能確信是否處于語音段,,因此只要兩個(gè)參數(shù)的數(shù)值都回落到低門限以下,就將當(dāng)前狀態(tài)恢復(fù)到靜音狀態(tài),;而如果在過渡段中兩個(gè)參數(shù)中的任何一個(gè)超過了高門限,,就可以確信進(jìn)入語音段。在語音段,,如果兩個(gè)參數(shù)的數(shù)值降低到低門限以下,,且一直持續(xù)15幀,則語音進(jìn)入停止,;如果兩個(gè)參數(shù)的數(shù)值降低到低門限以下,但并沒有持續(xù)到15幀,,后續(xù)又有語音超越過低門限,,則認(rèn)為還沒有結(jié)束;如果檢測出的這段語音總長度小于可接受的最小的語音幀數(shù)(設(shè)為15幀),,則認(rèn)為是一段噪音而放棄,。
 采用改進(jìn)后的端點(diǎn)檢測算法,對(duì)單個(gè)漢字或多個(gè)漢字的語音命令均識(shí)別正常,。圖4為語音“你好”的端點(diǎn)檢測圖,。

2.2 語音識(shí)別的DTW高效算法
 通常,路徑函數(shù)Φ(ni)被限制在一個(gè)平行四邊形內(nèi),,平行四邊形的一條邊斜率為2,,另一條邊的斜率為1/2。路徑函數(shù)的起點(diǎn)為(1,,1),,終止點(diǎn)為(N,M),。Φ(ni)的斜率為0,、1或2,。這是一種簡單的路徑限制,如圖5所示,。

   本文的目的是尋找一個(gè)路徑函數(shù),,在平行四邊形內(nèi)由點(diǎn)(1,1)到點(diǎn)(N,,M)具有最小代價(jià)函數(shù),。由于對(duì)路徑進(jìn)行了限制,在匹配過程中許多格點(diǎn)實(shí)際上是到達(dá)不了的,,因此,,平行四邊形之外的格點(diǎn)對(duì)應(yīng)的幀匹配距離是不需要計(jì)算的。另外,,也沒有必要保存所有的幀匹配距離矩陣和累積距離矩陣,,因?yàn)槊恳涣懈鞲顸c(diǎn)上的匹配計(jì)算只用到了前一列的3個(gè)網(wǎng)格。利用這兩個(gè)特點(diǎn)可以減少計(jì)算量和存儲(chǔ)空間的需求,。

 如果出現(xiàn)Xa>Xb的情況,,此時(shí)彎折匹配的三段為(1,Xb),、(Xb+1,,Xa)和(Xa+1,N),。沿X軸上每前進(jìn)一幀,,雖然所要比較的Y軸上的幀數(shù)不同,但彎折特性是一樣的,,累積距離的更新都是用下式實(shí)現(xiàn):
 D(x,,y)=d(x,y)+min[D(x-1,,y),,D(x-1,y-1),,D(x-1,,y-2)]
 由于X軸上每前進(jìn)一幀,只需要用到前一列的累積距離,,所以只需要兩個(gè)列矢量D和d分別保存前一列的累積距離和計(jì)算當(dāng)前列的累積距離,,而不用保存整個(gè)距離矩陣,這樣可達(dá)到減少存儲(chǔ)量和存儲(chǔ)空間的目的,。
2.3 試驗(yàn)結(jié)果    
 本系統(tǒng)采用改進(jìn)的端點(diǎn)檢測方法,,采用MFCC(Mel Frequene Cepstrum Coeffiients)特征提取和DTW算法來實(shí)現(xiàn)語音識(shí)別。語音采樣頻率為8 kHz,16 bit量化精度,,預(yù)加重系數(shù)a=0.95,,語音每幀為30 ms,240點(diǎn)為一幀,,幀移為80,,窗函數(shù)采用Hamming窗。采集5個(gè)女生,,10個(gè)男生的數(shù)據(jù),。共分為兩組,第一組是對(duì)0~9十個(gè)數(shù)字的識(shí)別,,第二組是對(duì)孤立詞的識(shí)別,,試驗(yàn)數(shù)據(jù)如表1所示。

 本文研究了語音識(shí)別DTW算法和理論,,在應(yīng)用中對(duì)雙門限端點(diǎn)檢測算法作了延長可容忍靜音的改進(jìn),,在說話語音識(shí)別算法上對(duì)DTW進(jìn)行了改進(jìn)和設(shè)計(jì),實(shí)驗(yàn)結(jié)果表明,,該算法可以有效地提高系統(tǒng)的識(shí)別率,。
參考文獻(xiàn)
[1]  何強(qiáng),何英.MATLAB 擴(kuò)展編程 [M].北京:清華大學(xué)出 版社,,2002.
[2] CHANWOO K,, KWANG D S. Robust DTW-based recognition algorithm for hand-held consumer devices[J]. IEEE Transactions on Consumer Electronics, 2005,, 51(2):699-709.
[3] MIZUHARA Y,, HAYASHI A, SUEMATSU N. Embedding of time series data by using dynamic time warping distances[J]. Systems and Computers in Japan,, 2006,, 37(3):1-9.
[4] BDULLA A, CHOW W H,, SIN D, G. Cross-words reference template for DTW-based speech recognition systems[C]. Conference on Convergent Technologies for the Asia-Pacific Region,,TENCON,, 2003, 2003:1576-1579.
[5] 劉金偉,,黃樟欽,,侯義斌.基于片上系統(tǒng)的孤立詞語音識(shí)別算法設(shè)計(jì)[J]計(jì)算機(jī)工程,2007,,33(13):25-27.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。