劉 靜,王 儒,曲金玉,李東榮
(山東理工大學(xué)交通與車(chē)輛工程學(xué)院山東淄博255091)
基于DTW改進(jìn)算法的孤立詞語(yǔ)音識(shí)別仿真
劉 靜,王 儒,曲金玉,李東榮
(山東理工大學(xué)交通與車(chē)輛工程學(xué)院山東淄博255091)
為提高識(shí)別率和識(shí)別效率,采用雙門(mén)限過(guò)零率和短時(shí)能量作為端點(diǎn)檢測(cè)的依據(jù),提取Mel頻率倒譜系數(shù)作為語(yǔ)音特征參數(shù),并使用DTW算法進(jìn)行模式匹配.由于傳統(tǒng)DTW算法計(jì)算量大,所以采用局部路徑約束和區(qū)域約束進(jìn)行改進(jìn),并用Matlab對(duì)改進(jìn)后的DTW算法進(jìn)行了仿真.實(shí)驗(yàn)證明該算法對(duì)孤立詞語(yǔ)音識(shí)別能夠達(dá)到較好的識(shí)別結(jié)果.
孤立詞;語(yǔ)音識(shí)別;Matlab;DTW
語(yǔ)音識(shí)別研究開(kāi)始于20世紀(jì)50年代,貝爾實(shí)驗(yàn)室的Davis等人研制了特定說(shuō)話(huà)人孤立數(shù)字識(shí)別系統(tǒng)[1].20世紀(jì)60年代末,RAC實(shí)驗(yàn)室的Martin等人開(kāi)始研究語(yǔ)音信號(hào)時(shí)間尺度不統(tǒng)一的解決辦法,開(kāi)發(fā)了一系列的時(shí)間規(guī)正方法,明顯地改變了識(shí)別性能[2].1972年,Sakoe提出了DTW算法,DTW是把時(shí)間歸正和距離測(cè)度計(jì)算結(jié)合起來(lái)的一種非線(xiàn)性歸正技術(shù),也是語(yǔ)音識(shí)別中一種很成功的匹配算法,掀起了語(yǔ)音識(shí)別研究的熱潮[3].
孤立詞語(yǔ)音識(shí)別是語(yǔ)音識(shí)別的一個(gè)重要研究領(lǐng)域,不僅比連續(xù)語(yǔ)音識(shí)別靈活性好,而且具有很高的應(yīng)用價(jià)值[4],主要應(yīng)用于自動(dòng)控制,如駕駛、機(jī)器人操縱、儀器設(shè)備操縱及收集撥號(hào)、智能玩具、家用電器操縱,尤其當(dāng)人手已被占用或無(wú)法使用的情況下,進(jìn)行聲音控制可以起到不可替代的作用.
本系統(tǒng)基于Matlab軟件,系統(tǒng)主要功能有語(yǔ)音信號(hào)的采樣及量化、預(yù)處理、端點(diǎn)檢測(cè)、特征提取、訓(xùn)練和識(shí)別,系統(tǒng)的開(kāi)發(fā)流程如圖1所示.
1.1 采樣及量化
Matlab軟件運(yùn)用wavrecord函數(shù)可進(jìn)行語(yǔ)音錄制,應(yīng)用wavread函數(shù)讀取錄制好的wav語(yǔ)音文件,采樣頻率為8k Hz.為了處理方便,先將信號(hào)進(jìn)行幅度歸一化處理,運(yùn)用命令x=x/max(abs(x))便可實(shí)現(xiàn).
圖1 語(yǔ)音識(shí)別系統(tǒng)流程圖
1.2 預(yù)處理
1)預(yù)加重
經(jīng)過(guò)采樣和量化過(guò)程后,還要對(duì)語(yǔ)音信號(hào)進(jìn)行預(yù)加重[2].預(yù)加重用具有6dB/倍頻程提升高頻特性的預(yù)加重?cái)?shù)字濾波器實(shí)現(xiàn),其計(jì)算公式為
式中,u=0.95,預(yù)加重后的信號(hào)在分析處理之前要進(jìn)行去加重處理,即加上―6dB/倍頻程下降的頻率特性來(lái)還原成原來(lái)的特性.數(shù)字“6”預(yù)加重后的波形如圖2所示.
圖2 數(shù)字“6”預(yù)加重后的波形
2)加窗分幀
為了得到短時(shí)的語(yǔ)音信號(hào),要對(duì)語(yǔ)音信號(hào)進(jìn)行加窗操作.本系統(tǒng)采用可以有效克服泄漏現(xiàn)象的漢明窗,漢明窗公式為
數(shù)字“6”加窗分幀后的波形如圖3所示.
圖3 數(shù)字“6”加窗分幀后的波形
1.3 端點(diǎn)檢測(cè)
語(yǔ)音的端點(diǎn)檢測(cè)就是確定語(yǔ)音的起點(diǎn)和終點(diǎn),從語(yǔ)音信號(hào)中排除無(wú)聲段[5],常用的檢測(cè)參數(shù)有短時(shí)能量和短時(shí)過(guò)零率等[6].本文采用雙門(mén)限端點(diǎn)檢測(cè)算法,利用短時(shí)能量來(lái)檢測(cè)濁音,利用短時(shí)過(guò)零率來(lái)檢測(cè)清音,兩者配合以實(shí)現(xiàn)可靠的端點(diǎn)檢測(cè).
1)短時(shí)能量分析
由于短時(shí)能量是對(duì)信號(hào)進(jìn)行平方運(yùn)算,人為增加了高低信號(hào)之間的差距,因此采用短時(shí)平均幅度來(lái)表示能量的變化[7].短時(shí)能量的計(jì)算公式為
3)檢測(cè)語(yǔ)音起點(diǎn)和終點(diǎn)
用短時(shí)平均過(guò)零率區(qū)分無(wú)聲和清音在有些情況下不是很可靠[8],本文采用雙門(mén)限端點(diǎn)檢測(cè)法,將門(mén)限提高一些,這對(duì)于清音的影響不大,而在無(wú)背景噪聲的情況下,無(wú)聲段將不會(huì)穿越這一提高的電平,因此可以正確區(qū)分清音段和無(wú)聲段.
首先根據(jù)濁音情況下的短時(shí)平均幅度參數(shù)的概率密度函數(shù)P(M|V)確定一個(gè)閾值參數(shù)MH,MH= min(M1,max(M)/4).根據(jù)MH可判定輸入語(yǔ)音的前后兩個(gè)點(diǎn)A1和A2,但語(yǔ)音的精確起點(diǎn)還要在A1之前和A2之后仔細(xì)查找.再設(shè)定一個(gè)較低的閾值參數(shù)ML,由A1點(diǎn)向前找,當(dāng)短時(shí)平均幅度由大到小減至ML時(shí),可以確定B1點(diǎn).類(lèi)似地,可以確定B2點(diǎn).在A2和B2之間仍能肯定是語(yǔ)音段.數(shù)字“6”的端點(diǎn)檢測(cè)結(jié)果如圖4所示.
圖4 端點(diǎn)檢測(cè)結(jié)果
1.4 特征提取
特征提取是語(yǔ)音識(shí)別的一個(gè)重要步驟,本系統(tǒng)采用Mel頻率倒譜系數(shù)(MFCC,Mel-Frequency Cepstral Coefficients)進(jìn)行特征提取.Mel頻率表示公式為
Mel濾波器組如圖5所示,MFCC倒譜系數(shù)的計(jì)算過(guò)程如圖6所示.
圖5 Mel濾波器組
圖6 MFCC倒譜系數(shù)的計(jì)算流程圖
先將信號(hào)進(jìn)行預(yù)加重和漢明窗處理,然后進(jìn)行短時(shí)傅里葉變換得到其頻譜.求出頻譜平方,即能量譜,再用24個(gè)帶通濾波器進(jìn)行濾波,得到功率譜.將每個(gè)濾波器的輸出取對(duì)數(shù)并進(jìn)行反離散余弦變換,得到15個(gè)MFCC系數(shù),MFCC系數(shù)計(jì)算公式為
用公式(7)求一階和二階差分參數(shù),得到相應(yīng)的動(dòng)態(tài)特征.
1.5 模板匹配
在孤立詞語(yǔ)音識(shí)別中,最為簡(jiǎn)單有效的方法是采用DTW算法,該算法基于動(dòng)態(tài)規(guī)劃(DP)的思想,解決了發(fā)音長(zhǎng)短不一的模板匹配問(wèn)題,是語(yǔ)音識(shí)別中出現(xiàn)較早、較為經(jīng)典的一種算法[9].
假設(shè)參考模板的特征矢量序列為
輸入語(yǔ)音特征矢量序列為
DTW算法就是要尋找一個(gè)最佳的時(shí)間歸正函數(shù),使待測(cè)語(yǔ)音的時(shí)間軸j非線(xiàn)性地映射到參考模板的時(shí)間軸i上,使總的累計(jì)失真量最小.
設(shè)時(shí)間歸正函數(shù)為
式中,N為路徑長(zhǎng)度,c(n)表示第n個(gè)匹配點(diǎn)對(duì)是由參考模板的第i(n)個(gè)特征矢量與待測(cè)模板的第j(n)個(gè)特征矢量構(gòu)成的匹配點(diǎn)對(duì).兩者之間的距離稱(chēng)為局部匹配距離.DTW算法就是通過(guò)局部最優(yōu)化的方法實(shí)現(xiàn)加權(quán)距離總和最小,即
為了提高識(shí)別速度,給時(shí)間規(guī)正函數(shù)如圖7(a)所示的局部路徑約束和如圖7(b)所示的平行四邊形區(qū)域約束Reg.平行四邊形有兩個(gè)位于(1,1)和(N,M)的頂點(diǎn),相鄰兩條邊的斜率分別為2和1/2.
求累計(jì)距離的遞推公式為
圖7 局部路徑約束和區(qū)域約束
對(duì)于圖7(a)所示的局部路徑,一般取距離加權(quán)值為Wn(1)=Wn(3)=1,Wn(2)=2.
程序運(yùn)行后,首先讀入wav文件,用vad函數(shù)對(duì)其進(jìn)行端點(diǎn)檢測(cè),用mfcc函數(shù)獲得其MFCC參數(shù),并保存語(yǔ)音部分的MFCC參數(shù)到參考模板的結(jié)構(gòu)數(shù)組ref(i).mfcc中或測(cè)試模板的結(jié)構(gòu)數(shù)組test (i).mfcc中.
在模板匹配階段,計(jì)算所有測(cè)試模板和參考模板之間的距離,保存到矩陣中,將最后的匹配分?jǐn)?shù)用min函數(shù)找到最小值對(duì)應(yīng)的模板.
表1為測(cè)試語(yǔ)音與標(biāo)準(zhǔn)模板庫(kù)之間的匹配矩陣,圖中行表示數(shù)字“1~10”的標(biāo)準(zhǔn)模板庫(kù),列表示數(shù)字“1~10”的測(cè)試語(yǔ)音.語(yǔ)音樣本“1~10”均和模板庫(kù)中的模板“1~10”有最小的距離,因此具有較好的相似性,即都取得了較好的識(shí)別效果.
表1 測(cè)試語(yǔ)音與標(biāo)準(zhǔn)模板庫(kù)之間的匹配矩陣
本文在Matlab編程上實(shí)現(xiàn)了簡(jiǎn)單詞的語(yǔ)音識(shí)別.DTW算法較HMM算法運(yùn)算量小,在孤立詞小詞匯量的語(yǔ)音識(shí)別系統(tǒng)有著較為廣泛的應(yīng)用.實(shí)驗(yàn)結(jié)果證明,通過(guò)提高端點(diǎn)檢測(cè)結(jié)果的準(zhǔn)確率和運(yùn)用改進(jìn)的DTW算法,系統(tǒng)取得了較好的識(shí)別效果.后續(xù)可以通過(guò)完善語(yǔ)音數(shù)據(jù)庫(kù)來(lái)提高模板搜尋匹配的效率和可靠性,通過(guò)改進(jìn)語(yǔ)音識(shí)別算法來(lái)提高識(shí)別的精度和準(zhǔn)確性.
[1]韓紀(jì)慶,張磊,鄭鐵然.語(yǔ)音信號(hào)處理[M].北京:清華大學(xué)出版社,2004.
[2]楊曦,蘇娟,彭勇群.孤立詞語(yǔ)音識(shí)別系統(tǒng)的MATLAB實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(3-1):288-290.
[3]吳黎明,王桂堂,吳正光.語(yǔ)音信號(hào)及單片機(jī)處理[M].北京:科學(xué)出版社,2007.
[4]彭輝,魏瑋,陸建華.特定人孤立詞的語(yǔ)音識(shí)別系統(tǒng)研究[J].控制工程,2011,5(3):397-400.
[5]朱蕊楠.車(chē)載藍(lán)牙語(yǔ)音控制系統(tǒng)的語(yǔ)音識(shí)別算法研究與設(shè)計(jì)[D].長(zhǎng)春:吉林大學(xué),2011.
[6]江官星,王建英.一種改進(jìn)的檢測(cè)語(yǔ)音端點(diǎn)的方法[J].微計(jì)算機(jī)信息,2006,22(5-1):138-139.
[7]劉志偉,盧文科.孤立詞的語(yǔ)音識(shí)別[J].微計(jì)算機(jī)信息,2011,27 (6):181-182.
[8]劉長(zhǎng)明,任一峰,語(yǔ)音識(shí)別中DTW特征匹配的改進(jìn)算法研究[J].中北大學(xué)學(xué)報(bào):自然科學(xué)版,2007,27(1):37-40.
[9]肖春華,黃樟欽,侯義斌,等.基于孤立詞語(yǔ)音識(shí)別系統(tǒng)的DTW硬件實(shí)現(xiàn)[J],微計(jì)算機(jī)信息,2010,26(11-2):114-117.
(編輯:郝秀清)
Design of isolated words speech recognition system based on improved DTW algorithm
LIU Jing,WANG Ru,QU Jin-yu,LI Dong-rong
(School of Traffic and Vehicle Engineering,Shandong University of Technology,Zibo 255091,China)
To improve recognizing rate and recognizing efficiency,double-threshold zero-crossing rate is adopted in the endpoint detection,Mel-Frequency Cepstral Coefficients is obtained as speech characteristic parameters,and DTW algorithm is used for matching of the model.For the large amount of data in the matching process,DTW algorithm is improved by using local constraints and global constraints and it was simulated by Matlab.The experiment shows that this algorithm can achieved good results in isolated word speech recognition.
isolated word;speech recognition;Matlab;DTW
1672―6197(2013)01―0063―04
TP391.42
A
2012- 12- 27
劉靜,女,15064360598@126.com;通信作者:曲金玉,男,qujinyu@sina.com