基于A(yíng)RM的實(shí)時(shí)語(yǔ)音識別系統在家庭監護機器人的實(shí)現
2)語(yǔ)音編解碼芯片選擇
機器人選擇一款合適的語(yǔ)音處理芯片是非常重要的??紤]到系統中用到了各種電源,并需要對電源進(jìn)行管理,因此選擇TI公司配套的TPS 65930芯片來(lái)作為系統語(yǔ)音識別部分的音頻編解碼處理功能的硬件平臺是非常合適的。該芯片是一個(gè)集成了電源管理、ADC、嵌入式電源控制(EPC)、全功能的音頻編解碼器于一體的芯片,滿(mǎn)足了系統所有電源管理和音頻編解碼的需要,為設計的PCB板節省了空間,同時(shí)減少了多電源硬件設計的負責布線(xiàn)煩惱。
3)電路設計
本文的設計是用在移動(dòng)機器人上的,因而需要語(yǔ)音的輸入、識別處理及語(yǔ)音輸出的功能。對于語(yǔ)音的輸入采集,本文使用聲音傳感器麥克風(fēng)及外圍電路來(lái)實(shí)現。對于語(yǔ)音輸出部分,使用功率放大器結合喇叭來(lái)使用。設計語(yǔ)音部分原理圖如圖3所示。

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所示。
c++相關(guān)文章:c++教程
評論