基于A(yíng)TK的實(shí)時(shí)語(yǔ)音識別系統在家庭監護機器人中的應用實(shí)現
1.2 軟件設計
HTK(Hidden Markov Model Toolkit)是一套專(zhuān)門(mén)的建立和處理隱馬可夫模型(HMMs)的實(shí)驗工具包,由英國劍橋大學(xué)工程系(Cambridge University Engineering Department,CUED)開(kāi)發(fā)的,主要應用于語(yǔ)音識別領(lǐng)域,也可以應用于語(yǔ)音合成、字符識別和DNA排序等研究領(lǐng)域。HTK經(jīng)過(guò)劍橋大學(xué)、Entropic公司及Microsoft公司的不斷增強和改進(jìn),使其在語(yǔ)音識別領(lǐng)域處于世界領(lǐng)先水平。
基于HTK的語(yǔ)言識別時(shí),識別結果適用只能顯示在DOS或終端上,而且不利于將結果保存、移植或者二次開(kāi)發(fā)利用。在本語(yǔ)音識別系統中使用了HTK接口工具ATK(AnApplication Toolkit for HTK)。ATK是由英國劍橋大學(xué)開(kāi)發(fā)的開(kāi)源語(yǔ)音識別工具,是對HTK的C++多線(xiàn)程封裝,跟HTK一樣,它支持Linux和Windows,它包括HTK(HTKLib)、AHTK、AGram、ANGram、ADict、AHMMs、AResource、ARMan、ARec、ACode、ASour ce、ATee、AComponent、ABuffer、APacket、Asyn、FLite(SYNLib)、ALog模塊部件。
基于A(yíng)TK的語(yǔ)音識別軟件應用系統的由語(yǔ)音信號采集模塊、基于DMA的雙向高速RAM存取模塊、ATK語(yǔ)音識別模塊、系統管理模塊、語(yǔ)音輸出模塊等模塊組成,如圖4所示。
在軟件設計中,系統管理模塊主要負責系統的總體管理調度,是應用系統的調度中心;語(yǔ)音信號采集模塊主要負責控制數據采集芯片TPS 65930;基于DMA的雙向RAM存取模塊主要負責實(shí)現DMA驅動(dòng)及雙向RAM的讀寫(xiě)存取,使用了通道1來(lái)實(shí)現高速地把語(yǔ)音信號采集到的數據存儲到RAM上,并使用通道2實(shí)現高速地把RAM的數據取出來(lái),用于語(yǔ)音的識別;語(yǔ)音輸出模塊主要負責把相應的音頻數據送到TPS65930,并控制TPS6 5930對接收到的音頻解碼輸出到功放電路,實(shí)現語(yǔ)音輸出的功能。軟件的設計流程圖如圖5所示。
2 語(yǔ)音識別系統實(shí)驗及結果
文中設計的語(yǔ)音識別系統如圖6所示。在實(shí)驗中總共進(jìn)行了3輪話(huà)語(yǔ)測試,每輪300句話(huà)語(yǔ)測試,其中150句為家庭監護機器人需要識別的話(huà)語(yǔ),150句話(huà)語(yǔ)為機器人不予置理的無(wú)關(guān)話(huà)語(yǔ)。本系統只設置10個(gè)需要識別的話(huà)語(yǔ),由15名學(xué)生分別讀音進(jìn)行測試。同時(shí)對無(wú)關(guān)話(huà)語(yǔ)也是由該15名學(xué)生,每人10句分別隨機讀音測試。從顯示結果可以看出,第1輪中,先測試的150句無(wú)關(guān)話(huà)語(yǔ)中,能正確識別出無(wú)關(guān)話(huà)語(yǔ)數為150句,識別出無(wú)關(guān)話(huà)語(yǔ)率為100%,但對需識別的話(huà)語(yǔ)中,正確識別出148句,2句識別出錯,識別率為98.67%;在第2輪中,同樣先測試的150句無(wú)關(guān)話(huà)語(yǔ)中,能正確識別出無(wú)關(guān)話(huà)語(yǔ)數為150句,識別出為無(wú)關(guān)話(huà)語(yǔ)率為100%,但對需識別的話(huà)語(yǔ)中,正確識別出142句,8句識別出錯,識別率為94.67%;在第3輪中,同樣先測試的150句無(wú)關(guān)話(huà)語(yǔ)中,能正確識別出無(wú)關(guān)話(huà)語(yǔ)數為150句,識別出無(wú)關(guān)話(huà)語(yǔ)率為100%,但對需識別的話(huà)語(yǔ)中,正確識別出146句,識別率為97.33%。在3輪測試中,系統都能實(shí)時(shí)響應所有語(yǔ)句,未出現漏句現象。并且在實(shí)驗測試的過(guò)程中,系統的響應速度都非???,感觀(guān)上沒(méi)有時(shí)間延遲,與真人交流速度相當。
從實(shí)驗測試結果可看出,對于識別10個(gè)需要識別的話(huà)語(yǔ)的識別率高達94.67%以上,具有較高的識別率,因而該語(yǔ)音識別系統較好達到了家庭監護機器人使用的要求。
3 結論
文中通過(guò)DSP、DMA和ARM Cortex-A8的并行處理,利用雙緩沖的方法,在嵌入式Linux上實(shí)現了基于A(yíng)TK的實(shí)時(shí)語(yǔ)音識別系統。該系統可以實(shí)時(shí)地實(shí)現語(yǔ)音識別,具有較高識別率,較快的響應速度??梢詰迷诩彝ケO護機器人及其相關(guān)領(lǐng)域中。
評論