基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)概要_第1頁
基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)概要_第2頁
基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)概要_第3頁
基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)概要_第4頁
基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)概要_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于DTW算法的語音識(shí)別原理與實(shí)現(xiàn)【摘要】以一個(gè)能識(shí)別數(shù)字09的語音識(shí)別系統(tǒng)的實(shí)現(xiàn)過程為例,闡述了基于DTW算法的特定人孤立詞語音識(shí)別的基本原理和關(guān)鍵技術(shù)。其中包括對(duì)語音端點(diǎn)檢測(cè)方法、特征參數(shù)計(jì)算方法和DTW算法實(shí)現(xiàn)的詳細(xì)討論,最后給出了在Matlab下的編程方法和實(shí)驗(yàn)結(jié)果?!娟P(guān)鍵字】語音識(shí)別;端點(diǎn)檢測(cè);MFCC系數(shù);DTW算法【中圖分類號(hào)】TN912.34【文獻(xiàn)標(biāo)識(shí)碼】A0 引言自計(jì)算機(jī)誕生以來,通過語音與計(jì)算機(jī)交互一直是人類的夢(mèng)想,隨著計(jì)算機(jī)軟硬件和信息技術(shù)的飛速發(fā)展,人們對(duì)語音識(shí)別功能的需求也更加明顯和迫切。語音識(shí)別技術(shù)就是讓機(jī)器通過識(shí)別和理解過程把人類的語音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的

2、技術(shù),屬于多維模式識(shí)別和智能計(jì)算機(jī)接口的范疇1。傳統(tǒng)的鍵盤、鼠標(biāo)等輸入設(shè)備的存在大大妨礙了系統(tǒng)的小型化10,而成熟的語音識(shí)別技術(shù)可以輔助甚至取代這些設(shè)備。在PDA、智能手機(jī)、智能家電、工業(yè)現(xiàn)場、智能機(jī)器人等方面語音識(shí)別技術(shù)都有著廣闊的前景。語音識(shí)別技術(shù)起源于20世紀(jì)50年代,以貝爾實(shí)驗(yàn)室的Audry系統(tǒng)為標(biāo)志1,8。先后取得了線性預(yù)測(cè)分析(LP)、動(dòng)態(tài)時(shí)間歸整(DTW)、矢量量化(VQ)、隱馬爾可夫模型(HMM)等一系列關(guān)鍵技術(shù)的突破和以IBM的ViaVoice、Microsoft的VoiceExpress9為代表的一批顯著成果。國內(nèi)的語音識(shí)別起步較晚,1987年開始執(zhí)行國家863計(jì)劃后語音識(shí)

3、別技術(shù)才得到廣泛關(guān)注。具有代表性的研究單位為清華大學(xué)電子工程系與中科院自動(dòng)化研究所模式識(shí)別國家重點(diǎn)實(shí)驗(yàn)室,中科院聲學(xué)所等9。其中中科院自動(dòng)化所研制的非特定人連續(xù)語音聽寫系統(tǒng)和漢語語音人機(jī)對(duì)話系統(tǒng),其準(zhǔn)確率和系統(tǒng)響應(yīng)率均可達(dá)90%以上1。常見的語音識(shí)別方法有動(dòng)態(tài)時(shí)間歸整技術(shù)(DTW)、矢量量化技術(shù)(VQ)、隱馬爾可夫模型(HMM)、基于段長分布的非齊次隱馬爾可夫模型(DDBHMM)和人工神經(jīng)元網(wǎng)絡(luò)(ANN)1,9。DTW是較早的一種模式匹配和模型訓(xùn)練技術(shù),它應(yīng)用動(dòng)態(tài)規(guī)劃的思想成功解決了語音信號(hào)特征參數(shù)序列比較時(shí)時(shí)長不等的難題,在孤立詞語音識(shí)別中獲得了良好性能。雖然HMM模型和ANN在連續(xù)語音大詞

4、匯量語音識(shí)別系統(tǒng)優(yōu)于DTW,但由于DTW算法計(jì)算量較少、無需前期的長期訓(xùn)練,也很容易將DTW算法移植到單片機(jī)、DSP上實(shí)現(xiàn)語音識(shí)別且能滿足實(shí)時(shí)性7要求,故其在孤立詞語音識(shí)別系統(tǒng)中仍然得到了廣泛的應(yīng)用。本文將通過能識(shí)別數(shù)字09的語音識(shí)別系統(tǒng)的實(shí)現(xiàn)過程詳細(xì)闡述基于DTW算法的特定人孤立詞識(shí)別的相關(guān)原理和關(guān)鍵技術(shù)。1 語音識(shí)別系統(tǒng)概述語音識(shí)別系統(tǒng)的典型原理框圖1,9-10如圖1-1所示。從圖中可以看出語音識(shí)別系統(tǒng)的本質(zhì)就是一種模式識(shí)別系統(tǒng),它也包括特征提取、模式匹配、參考模式庫等基本單元。由于語音信號(hào)是一種典型的非平穩(wěn)信號(hào),加之呼吸氣流、外部噪音、電流干擾等使得語音信號(hào)不能直接用于提取特征,而要進(jìn)行

5、前期的預(yù)處理。預(yù)處理過程包括預(yù)濾波、采樣和量化、分幀、加窗、預(yù)加重、端點(diǎn)檢測(cè)等。經(jīng)過預(yù)處理的語音數(shù)據(jù)就可以進(jìn)行特征參數(shù)提取。在訓(xùn)練階段,將特征參數(shù)進(jìn)行一定的處理之后,為每個(gè)詞條得到一個(gè)模型,保存為模板庫。在識(shí)別階段,語音信號(hào)經(jīng)過相同的通道得到語音參數(shù),生成測(cè)試模板,與參考模板進(jìn)行匹配,將匹配分?jǐn)?shù)最高的參考模板作為識(shí)別結(jié)果。后續(xù)的處理過程還可能包括更高層次的詞法、句法和文法處理等,從而最終將輸入的語音信號(hào)轉(zhuǎn)變成文本或命令。圖1-1 語音識(shí)別系統(tǒng)原理框圖本文所描述的語音識(shí)別系統(tǒng)(下稱本系統(tǒng))將對(duì)數(shù)字09共10段參考語音進(jìn)行訓(xùn)練并建立模板庫,之后將對(duì)多段測(cè)試語音進(jìn)行識(shí)別測(cè)試。系統(tǒng)實(shí)現(xiàn)了上圖中的語音輸

6、入、預(yù)處理、特征提取、訓(xùn)練建立模板庫和識(shí)別等模塊,最終建立了一個(gè)比較完整的語音識(shí)別系統(tǒng)。2 語音信號(hào)預(yù)處理語音信號(hào)的預(yù)處理模塊一般包括預(yù)濾波、采樣和量化、分幀、加窗、預(yù)加重、端點(diǎn)檢測(cè)等。在不同的系統(tǒng)中對(duì)各子模塊會(huì)有不同的要求,如在嵌入式語音識(shí)別系統(tǒng)中一般要求有防混疊濾波電路5、A/D轉(zhuǎn)換電路和采樣濾波電路等,而在計(jì)算機(jī)上實(shí)驗(yàn)時(shí)則可由音頻采集卡完成,無需實(shí)驗(yàn)者親自動(dòng)手。2.1 語音信號(hào)采集在Matlab環(huán)境中語音信號(hào)的采集可使用wavrecord(n,fs,ch,dtype)函數(shù)錄制,也可使用Windows的“錄音機(jī)”程序錄制成.wav文件然后使用wavread(file) 函數(shù)讀入。為了進(jìn)行批

7、量的的訓(xùn)練和識(shí)別處理,本系統(tǒng)的訓(xùn)練語音和識(shí)別語音全部使用“錄音機(jī)”程序預(yù)先錄制。如圖2-1所示為數(shù)字0的訓(xùn)練語音00.wav的信號(hào)波形圖,第(I)幅圖為完整的語音波形,第(II)、(III)幅圖分別為語音的起始部分和結(jié)束部分的放大波形圖。圖2-1 語音00.wav的信號(hào)波形圖2.2 分幀語音信號(hào)是一種典型的非平穩(wěn)信號(hào),它的均值函數(shù)u(x)和自相關(guān)函數(shù)R(xl,x2)都隨時(shí)間而發(fā)生較大的變化5,9。但研究發(fā)現(xiàn),語音信號(hào)在短時(shí)間內(nèi)頻譜特性保持平穩(wěn),即具有短時(shí)平穩(wěn)特性。因此,在實(shí)際處理時(shí)可以將語音信號(hào)分成很小的時(shí)間段(約1030ms5,7),稱之為“幀”,作為語音信號(hào)處理的最小單位,幀與幀的非重疊部

8、分稱為幀移,而將語音信號(hào)分成若干幀的過程稱為分幀。分幀小能清楚地描繪語音信號(hào)的時(shí)變特征但計(jì)算量大;分幀大能減少計(jì)算量但相鄰幀間變化不大,容易丟失信號(hào)特征。一般取幀長20ms,幀移為幀長的1/31/2。在Matlab環(huán)境中的分幀最常用的方法是使用函數(shù)enframe(x,len,inc),其中x為語音信號(hào),len為幀長,inc為幀移。在本系統(tǒng)中幀長取240,幀移取80。2.3 預(yù)加重對(duì)于語音信號(hào)的頻譜,通常是頻率越高幅值越小,在語音信號(hào)的頻率增加兩倍時(shí),其功率譜的幅度下降6dB。因此必須對(duì)高頻進(jìn)行加重處理,一般是將語音信號(hào)通過一個(gè)一階高通濾波器1-0.9375z-1,即為預(yù)加重濾波器。其目的是濾除

9、低頻干擾,特別是50Hz到60Hz的工頻干擾,將對(duì)語音識(shí)別更為有用的高頻部分進(jìn)行頻譜提升。在計(jì)算短時(shí)能量之前將語音信號(hào)通過預(yù)加重濾波器還可起到消除直流漂移、抑制隨機(jī)噪聲和提升清音部分能量的效果。預(yù)加重濾波器在Matlab中可由語句x=filter(1-0.9375,1,x)實(shí)現(xiàn)。2.4 加窗為了保持語音信號(hào)的短時(shí)平穩(wěn)性,利用窗函數(shù)來減少由截?cái)嗵幚韺?dǎo)致的Gibbs效應(yīng)。用的最多的三種為矩形窗、漢明窗(Hamming)和漢寧窗(Hanning)。其窗函數(shù)如下,式中的N為窗長,一般等于幀長。矩形窗: 漢明窗(Hamming):漢寧窗(Hanning):WR =1 (0nN-1)0 (Other)WH

10、M =0.5-0.46cos(2n/(N-1) (0nN-1)0 (Other) WHN =0.5-0.5cos(2n/(N-1) (0nN-1)0 (Other)(2-1)(2-2)(2-3)窗口的選擇非常重要,不同的窗口將使能量的平均結(jié)果不同。矩形窗的譜平滑,但波形細(xì)節(jié)丟失;而漢明窗則剛好相反,可以有效克服泄漏現(xiàn)象,具有平滑的低通特性4-6。因此,在語音的時(shí)域處理方法中,一般選擇矩形窗,而在語音的頻域處理方法中,一般選擇漢明窗或漢寧窗5-6。在Matlab中要實(shí)現(xiàn)加窗即將分幀后的語音信號(hào)乘上窗函數(shù),如加漢明窗即為x=x.*hamming(N)。本系統(tǒng)中的端點(diǎn)檢測(cè)采用時(shí)域方法故加矩形窗,計(jì)算

11、MFCC系數(shù)時(shí)加漢明窗。3 端點(diǎn)檢測(cè)在基于DTW算法的語音識(shí)別系統(tǒng)中,無論是訓(xùn)練和建立模板階段還是在識(shí)別階段,都先采用端點(diǎn)檢測(cè)算法確定語音的起點(diǎn)和終點(diǎn)。語音端點(diǎn)檢測(cè)是指用計(jì)算機(jī)數(shù)字處理技術(shù)從包含語音的一段信號(hào)中找出字、詞的起始點(diǎn)及結(jié)束點(diǎn),從而只存儲(chǔ)和處理有效語音信號(hào)。對(duì)漢語來說,還可進(jìn)一步找出其中的聲母段和韻母段所處的位置。語音端點(diǎn)檢測(cè)是語音分析、合成和識(shí)別中的一個(gè)重要環(huán)節(jié),其算法的優(yōu)劣在某種程度上也直接決定了整個(gè)語音識(shí)別系統(tǒng)的優(yōu)劣。進(jìn)行端點(diǎn)檢測(cè)的基本參數(shù)主要有短時(shí)能量、幅度、過零率和相關(guān)函數(shù)等。端點(diǎn)檢測(cè)最常見的方法是短時(shí)能量短時(shí)過零率雙門限端點(diǎn)檢測(cè),近年來在此基礎(chǔ)上發(fā)展出的動(dòng)態(tài)窗長短時(shí)雙門限

12、端點(diǎn)檢測(cè)方法4也被廣泛使用。3.1 短時(shí)能量語音和噪聲的主要區(qū)別在它們的能量上,如圖3-1(III) 和圖3-2(III)所示。語音段的能量比噪聲段的大,語音段的能量是噪聲段能量疊加語音聲波能量的和。對(duì)第n幀語音信號(hào)的短時(shí)能量En的定義為: (3-1)xn為原樣本序列在窗函數(shù)所切取出的第n段短時(shí)語音,N為幀長。因?yàn)樵谟?jì)算時(shí)使用的是信號(hào)的平方,故將En作為一個(gè)度量語音幅度值變化的函數(shù)有一個(gè)缺陷,即對(duì)高電平非常敏感。因此在許多場合會(huì)將En用下式來代替: (3-2)這樣就不會(huì)因?yàn)槿∑椒蕉斐尚盘?hào)的小取樣值的大取樣值出現(xiàn)較大差異。本系統(tǒng)中窗函數(shù)為WR(見式2-1),N為240。圖3-1(I)和圖3-2

13、(I)分別為數(shù)字0的訓(xùn)練語音00.wav和數(shù)字4的訓(xùn)練語音40.wav的波形,圖3-1(III)和圖3-2(III)分別為它們的短時(shí)能量。圖3-1 語音00.wav的時(shí)域分析參數(shù)圖3-2 語音40.wav的時(shí)域分析參數(shù)3.2 短時(shí)過零率短時(shí)過零表示一幀語音信號(hào)波形穿過橫軸(零電平)的次數(shù)。對(duì)于連續(xù)語音信號(hào),過零意味著時(shí)域波形通過時(shí)間軸;而對(duì)于離散信號(hào),如果相鄰的取樣值的改變符號(hào)則稱為過零。過零率就是樣本改變符號(hào)次數(shù),定義語音信號(hào)壽(m)的短時(shí)過零率Zn為: (3-3)1 (x0)-1 (x0)sgnx= (3-4)清音的能量多集中在較高的頻率上,它的平均過零率要高于濁音,故短時(shí)過零率可以用來區(qū)

14、分清音、濁音以及無聲。圖3-1(II)和圖3-2(II)分別為數(shù)字0的訓(xùn)練語音00.wav和數(shù)字4的訓(xùn)練語音40.wav的短時(shí)過零率。從圖中可以看到清音s的過零率明顯高于其后的i音,有聲段過零率明顯高于無聲段,但在鼻音階段過零率迅速滑落到無聲水平而能量值則是緩慢下滑。在實(shí)際應(yīng)用時(shí)并不能通過式3-3直接計(jì)算過零率,因?yàn)樵跓o聲段噪聲使語音波形在0值附近來回?cái)[動(dòng),導(dǎo)致計(jì)算出的過零率和有聲段的區(qū)別并不十分明顯。比較簡單的解決方法是設(shè)定一個(gè)差的閾值,使不僅xn(m)*xn(m-1) 。在本系統(tǒng)中經(jīng)多次試驗(yàn)取定=0.01。3.3 雙門限端點(diǎn)檢測(cè)雙門限端點(diǎn)檢測(cè)顧名思義需要兩級(jí)檢測(cè),即短時(shí)能量檢測(cè)和短時(shí)過零率

15、檢測(cè)。在開始檢測(cè)之前需要設(shè)定4個(gè)門限,即分別為短時(shí)能量和短時(shí)過零率各設(shè)置一個(gè)高門限和一個(gè)低門限:EHigh、ELow和ZHigh、ZLow。整個(gè)語音端點(diǎn)檢測(cè)分為四部分:靜音段、過度段、語音段、結(jié)束段。在靜音段中如果能量或過零率有一個(gè)超過了其低門限,則認(rèn)為進(jìn)入了過度段。在過度段中,由于參數(shù)數(shù)值較小,還不能確定是否真的進(jìn)入語音段,只有兩個(gè)參數(shù)的其中一個(gè)超越了高門限才被認(rèn)為是進(jìn)入語音段。當(dāng)參數(shù)降至低門限則認(rèn)為進(jìn)入結(jié)束。此外,還有兩種可能會(huì)引起端點(diǎn)檢測(cè)的誤判:一是短時(shí)噪音引起的誤判,此時(shí)則需要引入最小語音長度門限進(jìn)行噪聲判定,即語音段時(shí)間小于一定數(shù)值則認(rèn)定為是噪聲,重新回到靜音段,本系統(tǒng)設(shè)為20ms;

16、二是語音中字與字的時(shí)間空隙引起的誤判,此時(shí)需要設(shè)定最大靜音長度門限來降低識(shí)別的錯(cuò)誤率,本系統(tǒng)所訓(xùn)練和識(shí)別的都為單字,故無需設(shè)置此門限。在雙門限端點(diǎn)檢測(cè)中4個(gè)門限的設(shè)定至關(guān)重要,門限設(shè)定的好壞將直接影響端點(diǎn)檢測(cè)的結(jié)果。門限值的設(shè)置還沒有一個(gè)通用可靠的方法,需要根據(jù)經(jīng)驗(yàn)和特定環(huán)境進(jìn)行調(diào)整。常見的方法有最大值乘上某個(gè)比率、中位值乘上某個(gè)比率、最小值乘上某個(gè)常數(shù)、前三幀平均值乘上某個(gè)常數(shù)等。本系統(tǒng)中EHigh,ELow,ZHigh,ZLow的取值分別為:EHigh=max(min(amp)*10,mean(amp)*0.2,max(amp)*0.1); ZHigh=max(round(max(zcr)

17、*0.1),5);ELow=min(min(amp)*10,mean(amp)*0.2,max(amp)*0.1); ZLow=max(round(mean(zcr)*0.1),3);圖3-3和圖3-4分別是數(shù)字0的訓(xùn)練語音00.wav和數(shù)字4的訓(xùn)練語音40.wav的端點(diǎn)檢測(cè)結(jié)果,紅線之間的部分為檢測(cè)出的語音有聲段。圖3-3 語音00.wav的端點(diǎn)檢測(cè)結(jié)果圖3-4 語音40.wav的端點(diǎn)檢測(cè)結(jié)果4 語音識(shí)別參數(shù)提取經(jīng)過預(yù)處理的語音數(shù)據(jù)就可以進(jìn)行特征參數(shù)提取,特征參數(shù)的好壞將直接影響系統(tǒng)的性能和效率,對(duì)特征參數(shù)的要求包括9-10:(1) 提取的特征參數(shù)能有效地代表語音特征,具有很好的區(qū)分性;(2

18、) 各階參數(shù)之間有良好的獨(dú)立性;(3) 特征參數(shù)要計(jì)算方便,最好有高效的計(jì)算方法,以保證語音識(shí)別的實(shí)時(shí)實(shí)現(xiàn)。4.1 LPC與LPCC系數(shù)LPC(Linear Prediction Coefficient,線性預(yù)測(cè)系數(shù))模擬人發(fā)音器官的聲管模型,是一種基于語音合成的參數(shù)模型。在語音識(shí)別系統(tǒng)中很少直接使用LPC系統(tǒng),而是由LPC系數(shù)推出的另一種參數(shù)LPCC。LPCC(Linear Prediction Cepstrum Coefficient,線性預(yù)測(cè)倒譜系數(shù))是LPC在倒譜域中的表示。該特征是基于語音信號(hào)為自回歸信號(hào)的假設(shè),利用線性預(yù)測(cè)分析獲得倒譜系數(shù)。LPCC的優(yōu)點(diǎn)是計(jì)算量小,易于實(shí)現(xiàn),對(duì)元音

19、有較好的描述能力,缺點(diǎn)是對(duì)輔音描述能力較差。4.2 MFCC系數(shù)LPC模型是基于發(fā)音模型建立的,LPCC系數(shù)也是一種基于合成的系數(shù),這種參數(shù)沒有充分利用人耳的聽覺特性。實(shí)際上,人的聽覺系統(tǒng)是一個(gè)特殊的非線性系統(tǒng),它響應(yīng)不同頻率信號(hào)的靈敏度是不同的,基本上是一個(gè)對(duì)數(shù)的關(guān)系9-10。近年來,一種能夠比較充分利用人耳的這種特殊感知特性的系數(shù)得到了廣泛應(yīng)用,這就是Mel尺度倒譜系數(shù)(Mel-scaled Cepstrum Coefficients,簡稱MFCC)。大量研究表明,MFCC系數(shù)能夠比LPCC參數(shù)更好地提高系統(tǒng)的識(shí)別性能10。MFCC系數(shù)的計(jì)算是以“bark”為其頻率基準(zhǔn)的,它和線性頻率的轉(zhuǎn)

20、換關(guān)系是: (4-1)MFCC系數(shù)也是按幀計(jì)算的,首先要通過FFT得到該幀信號(hào)的功率譜S(n),轉(zhuǎn)換為Mel頻率下的功率譜。這需要在計(jì)算之前先在語音的頻譜范圍內(nèi)設(shè)置若干個(gè)帶通濾波器:Hm(n) m=0,1,M-1; n=0,1,N/2-1 (4-2)M為濾波器的個(gè)數(shù),通常取24,與臨界帶的個(gè)數(shù)一樣;N為一幀語音信號(hào)的點(diǎn)數(shù),為了計(jì)算FFT的方便,通常取256。濾波器在頻域上為簡單的三角形,其中心頻率fm在Mel頻率軸上是均勻分布的。如圖4-1所示為Mel尺度濾波器組,包含24個(gè)濾波器,語音信號(hào)幀長取為256個(gè)點(diǎn),語音信號(hào)的采樣頻率為8KHz,。圖4-1 Mel 尺度濾波器組帶通濾波器的系數(shù)事先計(jì)

21、算好,在計(jì)算MFCC系數(shù)是直接使用。MFCC系數(shù)的計(jì)算過程如下:(1) 預(yù)處理:確定每一幀語音采樣序列的長度(如N=256),并對(duì)每幀序列s(n)進(jìn)行預(yù)加重、分幀和加窗處理;(2) 計(jì)算離散功率譜:對(duì)預(yù)處理的每幀進(jìn)行離散FFT變換得到其頻譜,再取模的平方作為離散功率譜S(n);(3) 將功率譜通過濾波器組:計(jì)算S(n)通過M個(gè)Hm(n)后所得的功率值,即計(jì)算S(n)和Hm(n)在各離散頻率點(diǎn)上的乘積之和,得到M個(gè)參數(shù)Pm,m=0,1,M-1;(4) 取對(duì)數(shù):計(jì)算Pm的自然對(duì)數(shù),得到Lm,m=0,1,M-1;(5) 離散余弦變換:對(duì)Lm計(jì)算其離散余弦變換,得到D m,m=0,1,M-1,舍去代表

22、直流成份的D0,取D1,D2,Dk作為MFCC參數(shù)。具體流程可以用框圖4-2表示為:圖4-2 MFCC系數(shù)計(jì)算流程圖在Matlab環(huán)境中計(jì)算M個(gè)濾波器的系數(shù)可以調(diào)用語音工具箱voicebox中的函數(shù)melbankm(m,n,fs)來實(shí)現(xiàn),其中m為濾波器的個(gè)數(shù),n為語音幀長,fs為采樣頻率。計(jì)算mfcc系數(shù)的函數(shù)為melcepst(s,fs),s為語音信號(hào)。5 DTW算法實(shí)現(xiàn)DTW(Dynamic Time Warping,動(dòng)態(tài)時(shí)間規(guī)整)是語音識(shí)別中較為經(jīng)典的一種算法。在實(shí)現(xiàn)小詞匯表孤立詞識(shí)別系統(tǒng)時(shí),其識(shí)別率及其它指標(biāo)與HMM算法實(shí)現(xiàn)幾乎等同9。又由于HMM算法復(fù)雜,在訓(xùn)練階段需要提供大量的語音

23、數(shù)據(jù)通過反復(fù)計(jì)算才能得到模型參數(shù),而DTW算法本身既簡單又有效,因此在特定的場合下獲得了廣泛的應(yīng)用。5.1 匹配模式模板匹配方法的語音識(shí)別算法需要解決的一個(gè)關(guān)鍵問題是說話人對(duì)同一個(gè)詞的兩次發(fā)音不可能完全相同,這些差異不僅包括音強(qiáng)的大小、頻譜的偏移,更重要的是發(fā)音時(shí)音節(jié)的長短不可能完全相同,而且兩次發(fā)音的音節(jié)往往不存在線性對(duì)應(yīng)關(guān)系。設(shè)參考模板有M幀矢量R(1),R(2),R(m),R(M),R(m)為第m幀的語音特征矢量,測(cè)試模板有N幀矢量T(1),T(2),T(n),T(N),T(n)是第n幀的語音特征矢量。d(T(in),R(im)表示T中第in幀特征與R中im幀特征之間的距離,通常用歐幾里

24、德距離9-10表示。直接匹配是假設(shè)測(cè)試模板和參考模板長度相等,即in=im;線性時(shí)間規(guī)整技術(shù)假設(shè)說話速度是按不同說話單元的發(fā)音長度等比例分布的,即。顯然,這兩種假設(shè)都不符合實(shí)際語音的發(fā)音情況,我們需要一種更加符合實(shí)際情況的非線性時(shí)間規(guī)整技術(shù)。如圖5-1所示為三種匹配模式對(duì)同一詞兩次發(fā)音的匹配距離(兩條曲線間的陰影面積),顯然D3D2D1。待測(cè)模式T參考模式Rttttt直接匹配D1(T,R)線性匹配D2(T,R)非線性匹配D3(T,R)圖5-1 三種匹配模式對(duì)比5.2 DTW算法原理DTW是把時(shí)間規(guī)整和距離測(cè)度計(jì)算結(jié)合起來的一種非線性規(guī)整技術(shù),它尋找一個(gè)規(guī)整函數(shù)im=(in),將測(cè)試矢量的時(shí)間軸

25、n非線性地映射到參考模板的時(shí)間軸m上,并使該函數(shù)滿足: (5-1)D就是處于最優(yōu)時(shí)間規(guī)整情況下兩矢量的距離。由于DTW不斷地計(jì)算兩矢量的距離以尋找最優(yōu)的匹配路徑,所以得到的是兩矢量匹配時(shí)累積距離最小所對(duì)應(yīng)的規(guī)整函數(shù),這就保證了它們之間存在的最大聲學(xué)相似性。DTW算法的實(shí)質(zhì)就是運(yùn)用動(dòng)態(tài)規(guī)劃的思想,利用局部最佳化的處理來自動(dòng)尋找一條路徑,沿著這條路徑,兩個(gè)特征矢量之間的累積失真量最小,從而避免由于時(shí)長不同而可能引入的誤差DTW算法要求參考模板與測(cè)試模板采用相同類型的特征矢量、相同的幀長、相同的窗函數(shù)和相同的幀移。為了使動(dòng)態(tài)路徑搜索問題變得有實(shí)際意義,在規(guī)整函數(shù)上必須要加一些限制,不加限制使用式(5

26、-1)找出的最優(yōu)路徑很可能使兩個(gè)根本不同的模式之間的相似性很大,從而使模式比較變得毫無意義。通常規(guī)整函數(shù)必須滿足如下的約束條件:(1) 邊界限制:當(dāng)待比較的語音已經(jīng)進(jìn)行精確的端點(diǎn)檢測(cè),在這種情況下,規(guī)整發(fā)生在起點(diǎn)幀和端點(diǎn)幀之間,反映在規(guī)整函數(shù)上就是: (5-2)(2) 單調(diào)性限制由于語音在時(shí)間上的順序性,規(guī)整函數(shù)必須保證匹配路徑不違背語音信號(hào)各部分的時(shí)間順序。即規(guī)整函數(shù)必須滿足單調(diào)性限制: (5-3)(3) 連續(xù)性限制有些特殊的音素有時(shí)會(huì)對(duì)正確的識(shí)別起到很大的幫助,某個(gè)音素的差異很可能就是區(qū)分不同的發(fā)聲單元的依據(jù),為了保證信息損失最小,規(guī)整函數(shù)一般規(guī)定不允許跳過任何一點(diǎn)。即: (5-4)DTW

27、算法的原理圖如圖5-2,把測(cè)試模板的各個(gè)幀號(hào)n=1N在一個(gè)二維直角坐標(biāo)系中的橫軸上標(biāo)出,把參考模板的各幀m=1M在縱軸上標(biāo)出,通過這些表示幀號(hào)的整數(shù)坐標(biāo)畫出一些縱橫線即可形成一個(gè)網(wǎng)格,網(wǎng)格中的每一個(gè)交叉點(diǎn)(ti,rj)表示測(cè)試模式中某一幀與訓(xùn)練T(1)=1時(shí)間規(guī)整函數(shù)1 2 3 in N R1 2 im M (N)=M圖5-2 DTW算法原理圖(in , im)(in-1 , im)(in-1 , im-1)(in-1 , im-2)圖5-3 局部約束路徑模式中某一幀的交匯。DTW算法分兩步進(jìn)行,一是計(jì)算兩個(gè)模式各幀之間的距離,即求出幀匹配距離矩陣,二是在幀匹配距離矩陣中找出一條最佳路徑。搜索

28、這條路徑的過程可以描述如下:搜索從(1,1)點(diǎn)出發(fā),對(duì)于局部路徑約束如圖5-3,點(diǎn)(in,im)可達(dá)到的前一個(gè)格點(diǎn)只可能是(in-1,im)、(in-1,im-l)和(in-1,im-2)。那么(in,im)一定選擇這三個(gè)距離中的最小者所對(duì)應(yīng)的點(diǎn)作為其前續(xù)格點(diǎn),這時(shí)此路徑的累積距離為:D(in,im)=d(T(in),R(im)+minD(in-1,im),D(in-1,im-1),D(in-1,im-2) (5-5)這樣從(l,1)點(diǎn)出發(fā)(令D(1,1)=0)搜索,反復(fù)遞推,直到(N,M)就可以得到最優(yōu)路徑,而且D(N,M)就是最佳匹配路徑所對(duì)應(yīng)的匹配距離。在進(jìn)行語音識(shí)別時(shí),將測(cè)試模板與所有

29、參考模板進(jìn)行匹配,得到的最小匹配距離 Dmin(N,M)所對(duì)應(yīng)語音即為識(shí)別結(jié)果。5.3 DTW算法改進(jìn)DTW算法雖然簡單有效,但是動(dòng)態(tài)規(guī)劃方法需要存儲(chǔ)較大的矩陣,直接計(jì)算將會(huì)占據(jù)較大的空間,計(jì)算量也比較大。由圖5-3的局部路徑約束可知DTW算法所動(dòng)態(tài)搜索的空間其實(shí)并不是整個(gè)矩形網(wǎng)格,而是局限于對(duì)角線附近的帶狀區(qū)域9,如圖5-4所示,許多點(diǎn)實(shí)際上是達(dá)不到的。因此,在實(shí)際應(yīng)用中會(huì)將DTW算法進(jìn)行一些改進(jìn)以減少存儲(chǔ)空間和降低計(jì)算量。常見的改進(jìn)方法有搜索寬度限制、放寬端點(diǎn)限制等。5.3.1 搜索寬度限制以圖5-3中的局部約束路徑為例,待測(cè)模板軸上每前進(jìn)一幀,對(duì)于點(diǎn)(in,im)只需要用到前一列(in-

30、1,im)、(in-l,im-l)和(in-1,im-2)三點(diǎn)的累積距離,也就是im-1和im-2兩行的累積距離。整個(gè)DTW算法的計(jì)算過程遞推循環(huán)進(jìn)行,也就是每一行中的格點(diǎn)利用前兩行格點(diǎn)的累積距離計(jì)算該點(diǎn)的累積距離的過程?;谶@種循環(huán)遞推計(jì)算,只需分配3N的存儲(chǔ)空間重復(fù)使用,而不需要保存幀匹配距離矩陣和所有的累積距離矩陣。又由于DTW算法的動(dòng)態(tài)搜索寬度局限于對(duì)角線附近的帶狀區(qū)域,假設(shè)其寬度為width,如圖5-4和圖5-6,則實(shí)際只需分配3width的存儲(chǔ)空間即可。圖5-4 帶狀搜索區(qū)域 圖5-5 搜索寬度限制存儲(chǔ)空間5.3.2 放寬端點(diǎn)限制普通DTW對(duì)端點(diǎn)檢測(cè)比較敏感,端點(diǎn)信息是作為一組獨(dú)立

31、的參數(shù)提供給識(shí)別算法的。它要求兩個(gè)比較模式起點(diǎn)對(duì)起點(diǎn),終點(diǎn)對(duì)終點(diǎn),對(duì)端點(diǎn)檢測(cè)的精度要求比較高。當(dāng)環(huán)境噪聲比較大或語音由摩擦音構(gòu)成時(shí),端點(diǎn)檢測(cè)不易進(jìn)行,這就要求在動(dòng)態(tài)時(shí)間規(guī)整過程中給以考慮。放松端點(diǎn)限制方法不嚴(yán)格要求端點(diǎn)對(duì)齊,克服由于端點(diǎn)算法不精確造成的測(cè)試模式和參考模式起點(diǎn)終點(diǎn)不能對(duì)齊的問題。一般情況下,起點(diǎn)和終點(diǎn)在縱橫兩個(gè)方向只要放寬2-3幀就可以,也就是起點(diǎn)可以在(1,1),(l,2),(1,3),(2,1),(3,l),終點(diǎn)類似。如圖5-6。圖5-6 改進(jìn)的DTW算法原理圖Ck=(ik, jk)C1=(1, 1)CK=(I, J)j = i - rj = i + r時(shí)間規(guī)整函數(shù) width ijt1 t2 t3 ti tI TRr1 r2 rj rJ 在放寬端點(diǎn)限制的DTW算法中,累積距離矩陣中的元素(1,l),(l,2),(l,3),(2,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論