陳孟元
(安徽工程大學(xué) 安徽省電氣傳動(dòng)與控制重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
語(yǔ)音識(shí)別是通過機(jī)器識(shí)別將語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的技術(shù),屬于多維模式識(shí)別和智能接口的范疇[1-2].近年來(lái),語(yǔ)音識(shí)別研究取得了廣泛關(guān)注和顯著進(jìn)步,其中小碼本的孤立詞語(yǔ)音識(shí)別系統(tǒng)識(shí)別率高,在工業(yè)命令控制、個(gè)人信息確認(rèn)及個(gè)人移動(dòng)通信呼叫等應(yīng)用場(chǎng)合具有廣闊前景[3-5].孤立詞語(yǔ)音識(shí)別系統(tǒng)的識(shí)別單元是孤立發(fā)音的單詞,在訓(xùn)練階段熟悉和記憶說話人的語(yǔ)音特征,建立參考模板庫(kù),在識(shí)別階段通過比對(duì)測(cè)試將具有最大聲學(xué)相似性的模板作為輸出結(jié)果[6].為了提高系統(tǒng)的識(shí)別率和識(shí)別速度,并使系統(tǒng)對(duì)語(yǔ)音的地域差別具有較強(qiáng)的適應(yīng)性,在特征參數(shù)提取和模板匹配過程中,對(duì)DTW(動(dòng)態(tài)時(shí)間歸整[7],Dynamic Time Warping)算法和 MFCC(梅爾頻率倒譜系數(shù)[8],Mel Frequency Cepstrum Coefficient)進(jìn)行改進(jìn),基于MATLAB環(huán)境下的實(shí)驗(yàn)表明,該系統(tǒng)對(duì)于來(lái)自不同地域的語(yǔ)音具有較高識(shí)別水平.
圖1 語(yǔ)音識(shí)別系統(tǒng)的結(jié)構(gòu)框圖
語(yǔ)音識(shí)別系統(tǒng)的結(jié)構(gòu)框圖如圖1所示[9-10].由圖1可知,語(yǔ)音輸入信號(hào)首先進(jìn)入預(yù)處理單元,去除冗余信息,得到平穩(wěn)的語(yǔ)音信號(hào).語(yǔ)音信號(hào)包含發(fā)音人的語(yǔ)音特征,語(yǔ)音識(shí)別通過提取語(yǔ)音特征參數(shù)使機(jī)器具有一定記憶功能,這個(gè)過程稱為訓(xùn)練階段.在訓(xùn)練階段,系統(tǒng)建立參考模板庫(kù),保存語(yǔ)音特征參數(shù).參考模板庫(kù)建立后輸入測(cè)試語(yǔ)音,進(jìn)行語(yǔ)音識(shí)別.在識(shí)別階段,采用模式匹配的技術(shù),通過匹配函數(shù)計(jì)算輸入模板和參考模板間的聲學(xué)誤差,系統(tǒng)將誤差最小的參考模板作為識(shí)別結(jié)果輸出.
圖2 語(yǔ)音信號(hào)的預(yù)處理過程
語(yǔ)音信號(hào)的預(yù)處理過程包括預(yù)加重、加窗和端點(diǎn)檢測(cè),如圖2所示.
數(shù)字語(yǔ)音“0”的端點(diǎn)檢測(cè)仿真圖如圖3所示.由3個(gè)子圖組成,最上面的子圖是語(yǔ)音信號(hào)波形圖,橫坐標(biāo)為時(shí)間;中間的子圖是短時(shí)能量檢測(cè)圖,橫坐標(biāo)為幀數(shù);最下面的子圖是過零率檢測(cè)圖,橫坐標(biāo)為幀數(shù);圖3中兩豎線間的區(qū)域是端點(diǎn)檢測(cè)出的語(yǔ)音段.數(shù)字語(yǔ)音“0”大致在115~185幀之間,幀移為80 檢測(cè)的語(yǔ)音范圍為第9 200~14 800采樣點(diǎn).
圖3 數(shù)字語(yǔ)音“0”的端點(diǎn)檢測(cè)仿真圖
特征參數(shù)提取的優(yōu)劣對(duì)系統(tǒng)識(shí)別的精度有很大影響,在含一定噪聲的語(yǔ)音識(shí)別系統(tǒng)中,采用MFCC作為語(yǔ)音的特征參數(shù)可使系統(tǒng)具有一定的穩(wěn)健性.傳統(tǒng)的MFCC只反映語(yǔ)音的靜態(tài)特征,為了獲得語(yǔ)音的動(dòng)態(tài)特征,在提取MFCC基礎(chǔ)上,整合差分倒譜參數(shù)作為語(yǔ)音的特征參數(shù),提取過程如下:
預(yù)處理后語(yǔ)音時(shí)域信號(hào)y(n)通過補(bǔ)0構(gòu)成長(zhǎng)度為N的時(shí)間序列,N=512.時(shí)間序列經(jīng)過FFT得到線性頻譜Y(k).Y(k)通過Mel濾波器組得到Mel頻譜,對(duì)數(shù)能量處理后得到對(duì)數(shù)頻譜S(m).其中,Mel濾波器組由M個(gè)帶通濾波器組成,總傳遞函數(shù)可表示為:
式中:Hm(k)為帶通濾波器的傳遞函數(shù).
將對(duì)數(shù)頻譜S(m)通過DCT(離散余弦變換,Discrete Cosine Transform)變換到倒譜域,得到標(biāo)準(zhǔn)的MFCC,MFCC表示為C(n),
求出前3階的MFCC,將各階參數(shù)值乘以權(quán)重系數(shù)ε進(jìn)行加權(quán)處理得到C*(n),
式中:k為待求MFCC的階數(shù).求取MFCC差分倒譜參數(shù),將各階MFCC差分倒譜參數(shù)和MFCC參數(shù)矢量合成,作為一幀語(yǔ)音信號(hào)的特征參數(shù).MFCC差分倒譜參數(shù)的求取可表示為d(n):
圖4 數(shù)字語(yǔ)音“3”的MFCC數(shù)據(jù)結(jié)構(gòu)圖
在MATLAB環(huán)境下提取各語(yǔ)音信號(hào)的MFCC,數(shù)字語(yǔ)音“3”的MFCC參數(shù)數(shù)據(jù)結(jié)構(gòu)圖如圖4所示.由圖4可知,數(shù)據(jù)結(jié)構(gòu)為88×24的二維矩陣,88為幀數(shù),24為參數(shù)階數(shù).
模板匹配的過程中,為了規(guī)整參考模板和測(cè)試模板的時(shí)間對(duì)應(yīng)關(guān)系,常采用DTW算法,可以求解出衡量模板間似然度的測(cè)度函數(shù),保證最大的聲學(xué)相似性[10].DTW算法通過計(jì)算參考模板和測(cè)試模板中各個(gè)對(duì)應(yīng)幀之間的失真距離,得出幀匹配距離矩陣,繪制DTW網(wǎng)格.網(wǎng)格中的格點(diǎn)是對(duì)應(yīng)幀的交匯點(diǎn),按照距離最短原則搜索前續(xù)格點(diǎn),反復(fù)遞推得到一條最優(yōu)路徑,實(shí)現(xiàn)累積失真量最小.DTW算法在路徑搜索的過程中,由于路徑約束條件的存在,部分格點(diǎn)計(jì)算存在冗余,并且每列格點(diǎn)的匹配計(jì)算只與前列的兩個(gè)網(wǎng)格相關(guān),不用保存所有的累積距離矩陣和幀匹配矩陣.因此對(duì)DTW算法做出改進(jìn),有助于減小存儲(chǔ)量,提高識(shí)別率和識(shí)別速度.改進(jìn)型DTW算法流程圖如圖5所示,M為參考模板的語(yǔ)音幀總數(shù),N為訓(xùn)練模板的語(yǔ)音幀總數(shù),α為累積距離矩陣,β為幀匹配距離矩陣,m為參考模板語(yǔ)音幀的時(shí)序標(biāo)號(hào),n為測(cè)試模板語(yǔ)音幀的時(shí)序標(biāo)號(hào),int[]為取整函數(shù).
為體現(xiàn)系統(tǒng)對(duì)語(yǔ)言地域差別的適應(yīng)性,建立湖北、閩南和安徽3個(gè)地域的語(yǔ)音數(shù)據(jù)庫(kù),并與普通話語(yǔ)音作比對(duì)實(shí)驗(yàn).選取的語(yǔ)音地域性顯著,具有一定的代表性.
圖5 改進(jìn)型DTW算法流程圖
建立3處地域的方言和普通話語(yǔ)音組成的語(yǔ)音數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)包括0~9共10個(gè)語(yǔ)音樣本元素,每位發(fā)言人將每個(gè)元素發(fā)音6遍,共240個(gè)發(fā)音.分別錄制1個(gè)參考模板組和5個(gè)測(cè)試模板組,每個(gè)模板組包括0~9共10個(gè)漢語(yǔ)數(shù)字語(yǔ)音,參考模板組共包括來(lái)自語(yǔ)音數(shù)據(jù)庫(kù)的40個(gè)發(fā)音,測(cè)試模板組共包括另外的200個(gè)發(fā)音.
在MATLAB環(huán)境下,提取語(yǔ)音的累積誤差距離矩陣,湖北口音測(cè)試模板組1和組2的累積誤差距離矩陣如圖6所示,行對(duì)應(yīng)測(cè)試模板中的語(yǔ)言,列對(duì)應(yīng)參考模板組的語(yǔ)音1-10,矩陣中的數(shù)值為對(duì)應(yīng)測(cè)試組之間的誤差距離,dist為累計(jì)誤差距離,橢圓圈出的數(shù)字為一行中最小的數(shù).測(cè)試人從數(shù)字“0”開始朗讀,一直朗讀到數(shù)字“9”,按照改進(jìn)DTW算法累積誤差距離最短的原則,語(yǔ)音被完全識(shí)別的條件下,橢圓全部位于主對(duì)角線,連成直線,如果識(shí)別出現(xiàn)錯(cuò)誤,會(huì)產(chǎn)生折線.累積誤差距離矩陣表明,模板組1的測(cè)試語(yǔ)音均與參考模板中對(duì)應(yīng)的正確語(yǔ)音匹配距離最小,模板組2第9行的測(cè)試發(fā)音“9”與第6列參考模板中數(shù)字發(fā)音“6”匹配距離最小.湖北口音測(cè)試模板組1和組2的識(shí)別結(jié)果如圖7所示.進(jìn)行比較分析可知,系統(tǒng)正確識(shí)別了模板組1的10個(gè)數(shù)字語(yǔ)音,將模板組2中的語(yǔ)音“9”識(shí)別為“6”,出現(xiàn)一處識(shí)別錯(cuò)誤,DTW算法的計(jì)算結(jié)果與實(shí)驗(yàn)結(jié)果一致.
圖6 湖北口音測(cè)試模板組1和組2的累積誤差距離矩陣
圖7 湖北口音測(cè)試模板組1和組2的識(shí)別結(jié)果
系統(tǒng)采用不同特征參數(shù)和匹配算法的性能指標(biāo)如表1所示,模板匹配時(shí)間是20個(gè)測(cè)試組的平均匹配時(shí)間,模板識(shí)別率是20個(gè)測(cè)試組的平均識(shí)別率,在4種組合方式下統(tǒng)計(jì)比對(duì).
組合1和組合2均采用傳統(tǒng)的DTW算法,MFCC提取方式不同.實(shí)驗(yàn)結(jié)果表明,組合2的模板匹配時(shí)間比組合1低6.73%,模板識(shí)別率比組合2高3.28%;組合2和組合4均采用改進(jìn)型MFCC,DTW算法不同.實(shí)驗(yàn)結(jié)果表明,組合4的模板匹配速度比組合2高29.42%,模板識(shí)別率比組合2高3.17%.
通過其余組合兩兩比對(duì)表明,改進(jìn)型MFCC雖然增加了系統(tǒng)運(yùn)行時(shí)間,但提高了系統(tǒng)的識(shí)別率.改進(jìn)型DTW算法提高了系統(tǒng)識(shí)別率,并且對(duì)提升系統(tǒng)運(yùn)行速度作用顯著.采用改進(jìn)型DTW算法和改進(jìn)型MFCC的組合4與采用傳統(tǒng)DTW算法和MFCC的組合1相比,模板匹配速度提升了24.32%,系統(tǒng)識(shí)別率提升了6.56%.
表1 系統(tǒng)采用不同特征參數(shù)和匹配算法的性能指標(biāo)
通過分別測(cè)試和整理,語(yǔ)音識(shí)別系統(tǒng)各測(cè)試模板的識(shí)別結(jié)果如表2所示.分別對(duì)普通話語(yǔ)音、湖北語(yǔ)音、安徽語(yǔ)音和閩南語(yǔ)音進(jìn)行測(cè)試,每種語(yǔ)音有5個(gè)測(cè)試模板組,每個(gè)模板組將0~9這10個(gè)數(shù)字語(yǔ)音重復(fù)10遍,包括100個(gè)測(cè)試語(yǔ)音.普通話語(yǔ)音測(cè)試組正確識(shí)別率最高,平均識(shí)別率為98.6%,閩南語(yǔ)音測(cè)試組正確識(shí)別率最低,平均識(shí)別率為90.2%,湖北和安徽測(cè)試組的平均識(shí)別率分別為94.0%和95.4%.系統(tǒng)對(duì)所有測(cè)試模板組的平均識(shí)別率為94.55%.
表2 語(yǔ)音識(shí)別系統(tǒng)各測(cè)試模板的識(shí)別結(jié)果
為了提高語(yǔ)音識(shí)別系統(tǒng)的識(shí)別速度和正確率,并對(duì)不同地域的語(yǔ)音具有較好的適應(yīng)性.在特征參數(shù)提取的過程中,將MFCC和差分倒譜參數(shù)結(jié)合為一幀的特征參數(shù),并對(duì)傳統(tǒng)的DTW算法做出改進(jìn),減小模板匹配的時(shí)間和計(jì)算量.采集了具有地域代表性的3省方言和普通話語(yǔ)音,在MATLAB環(huán)境下進(jìn)行仿真實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,改進(jìn)型DTW算法提高了系統(tǒng)識(shí)別率,提升了系統(tǒng)運(yùn)行速度;改進(jìn)后的MFCC一定程度上增加了系統(tǒng)運(yùn)行時(shí)間,但提高了系統(tǒng)識(shí)別率;基于改進(jìn)型DTW和MFCC的語(yǔ)音識(shí)別系統(tǒng)比傳統(tǒng)的系統(tǒng)識(shí)別速度高24.32%,識(shí)別率高6.56%;改進(jìn)后的系統(tǒng)對(duì)普通話語(yǔ)音的識(shí)別率最高,對(duì)地域特征明顯的語(yǔ)音識(shí)別率有所降低,所有測(cè)試模板的平均識(shí)別率為94.55%.
[1] 袁正午,肖旺輝.改進(jìn)的混合 MFCC語(yǔ)音識(shí)別算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(33):108-110.
[2] 榮薇,陶智,顧濟(jì)華,等.基于改進(jìn)LPCC和 MFCC的漢語(yǔ)耳語(yǔ)音識(shí)別[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(30):213-216.
[3] 汲清波,盧侃,李康.在孤立詞語(yǔ)音識(shí)別系統(tǒng)中動(dòng)態(tài)時(shí)間規(guī)整的改進(jìn)算法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(25):118-120.
[4] 張震,王化清.語(yǔ)音信號(hào)提取中 Mel倒譜系 MFCC的改進(jìn)算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(22):54-55,58.
[5] 安鎮(zhèn)宙,楊鑒,王紅,等.一種新的基于并行分段剪裁的 DTW 算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(15):35-36,89.
[6] 楊大利,徐明星,吳文虎.語(yǔ)音識(shí)別特征參數(shù)選擇方法研究[J].計(jì)算機(jī)研究與發(fā)展,2003,40(7):963-969.
[7] 郭繼云,王守覺,苑海濤.一種基于頻能比的端點(diǎn)檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,31:49-51.
[8] 相征,尹成俊.基于基音頻能值和梅爾參數(shù)的語(yǔ)音識(shí)別設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,9:86-89.
[9] 黃文龍.語(yǔ)音識(shí)別關(guān)鍵技術(shù)研究及系統(tǒng)實(shí)現(xiàn)[D].重慶:重慶大學(xué),2010.
[10]舒琦.小詞匯量的孤立詞語(yǔ)音識(shí)別方法研究[D].武漢:武漢理工大學(xué),2012.