實時語音識別系統(tǒng)在家庭監(jiān)護機器人的實現(xiàn)
1.2 軟件設(shè)計
HTK(Hidden Markov Model Toolkit)是一套專門的建立和處理隱馬可夫模型(HMMs)的實驗工具包,由英國劍橋大學工程系(Cambridge University Engineering Department,CUED)開發(fā)的,主要應(yīng)用于語音識別領(lǐng)域,也可以應(yīng)用于語音合成、字符識別和DNA排序等研究領(lǐng)域。HTK經(jīng)過劍橋大學、Entropic公司及Microsoft公司的不斷增強和改進,使其在語音識別領(lǐng)域處于世界領(lǐng)先水平。
基于HTK的語言識別時,識別結(jié)果適用只能顯示在DOS或終端上,而且不利于將結(jié)果保存、移植或者二次開發(fā)利用。在本語音識別系統(tǒng)中使用了HTK接口工具ATK(AnApplication Toolkit for HTK)。ATK是由英國劍橋大學開發(fā)的開源語音識別工具,是對HTK的C++多線程封裝,跟HTK一樣,它支持Linux和Windows,它包括HTK(HTKLib)、AHTK、AGram、ANGram、ADict、AHMMs、AResource、ARMan、ARec、ACode、ASour ce、ATee、AComponent、ABuffer、APacket、Asyn、FLite(SYNLib)、ALog模塊部件。
基于ATK的語音識別軟件應(yīng)用系統(tǒng)的由語音信號采集模塊、基于DMA的雙向高速RAM存取模塊、ATK語音識別模塊、系統(tǒng)管理模塊、語音輸出模塊等模塊組成,如圖4所示。
在軟件設(shè)計中,系統(tǒng)管理模塊主要負責系統(tǒng)的總體管理調(diào)度,是應(yīng)用系統(tǒng)的調(diào)度中心;語音信號采集模塊主要負責控制數(shù)據(jù)采集芯片TPS 65930;基于DMA的雙向RAM存取模塊主要負責實現(xiàn)DMA驅(qū)動及雙向RAM的讀寫存取,使用了通道1來實現(xiàn)高速地把語音信號采集到的數(shù)據(jù)存儲到RAM上,并使用通道2實現(xiàn)高速地把RAM的數(shù)據(jù)取出來,用于語音的識別;語音輸出模塊主要負責把相應(yīng)的音頻數(shù)據(jù)送到TPS65930,并控制TPS6 5930對接收到的音頻解碼輸出到功放電路,實現(xiàn)語音輸出的功能。軟件的設(shè)計流程圖如圖5所示。
評論