基于ATK的實(shí)時(shí)語(yǔ)音識(shí)別系統(tǒng)在家庭監(jiān)護(hù)機(jī)器人中的應(yīng)用實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
語(yǔ)音是人類最常用的交流方式,也是人類和計(jì)算機(jī)交流最渴望的方式。因此用語(yǔ)音同計(jì)算機(jī)交流也成為了最近研究的熱點(diǎn),計(jì)算機(jī)對(duì)語(yǔ)音的理解是計(jì)算機(jī)科學(xué)中的一個(gè)引人人勝的、富有挑戰(zhàn)性的課題。
進(jìn)入90年代,隨著多媒體時(shí)代的來(lái)臨,迫切要求語(yǔ)音識(shí)別系統(tǒng)從實(shí)驗(yàn)室走向?qū)嵱?。許多發(fā)達(dá)國(guó)家如美國(guó)、日本、韓國(guó)以及IBM、Apple、AT&T、NTT等著名公司都為語(yǔ)音識(shí)別系統(tǒng)的實(shí)用化開(kāi)發(fā)研究投以巨資。IBM公司于1997年開(kāi)發(fā)出漢語(yǔ)ViaVoice語(yǔ)音識(shí)別系統(tǒng),次年又開(kāi)發(fā)出可以識(shí)別上海話、廣東話和四川話等地方口音的語(yǔ)音識(shí)別系統(tǒng)ViaVoice’98。目前市場(chǎng)上已經(jīng)出現(xiàn)了語(yǔ)音識(shí)別電話、語(yǔ)音識(shí)別記事本等產(chǎn)品,如美國(guó)VPTC公司的Voice Organizer和法國(guó)的Parrot等。
我國(guó)語(yǔ)音識(shí)別研究工作開(kāi)始的較晚,但近年來(lái)發(fā)展得很快,一直緊跟國(guó)際水平,國(guó)家也很重視,并把大詞匯量語(yǔ)音識(shí)別的研究列入“8 63”計(jì)劃,由中科院聲學(xué)所、自動(dòng)化所、清華大學(xué)電子工程系及北京大學(xué)等單位研究開(kāi)發(fā),取得了高水平的科研成果,如中科院自動(dòng)化所研制的非特定人、連續(xù)語(yǔ)音聽(tīng)寫系統(tǒng)和漢語(yǔ)語(yǔ)音人機(jī)對(duì)話系統(tǒng),其字準(zhǔn)確率或系統(tǒng)響應(yīng)率可達(dá)90%以上。鑒于中國(guó)未來(lái)龐大的市場(chǎng),國(guó)外也非常重視漢語(yǔ)語(yǔ)音識(shí)別的研究。美國(guó)、新加坡等地聚集了一批來(lái)自大陸、臺(tái)灣、香港等地的學(xué)者,研究成果已達(dá)到相當(dāng)高水平。
1 系統(tǒng)設(shè)計(jì)
文中是家庭監(jiān)護(hù)機(jī)器人項(xiàng)目中的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)部分,設(shè)計(jì)目的是設(shè)計(jì)出一種可以識(shí)別語(yǔ)音的、協(xié)助監(jiān)護(hù)家庭行動(dòng)不方便人員的機(jī)器人。為實(shí)現(xiàn)該語(yǔ)音識(shí)別系統(tǒng),設(shè)計(jì)了語(yǔ)音識(shí)別系統(tǒng)總體結(jié)構(gòu)框圖,如圖1所示。
1.1 硬件設(shè)計(jì)
文中所研究和設(shè)計(jì)的功能,都是應(yīng)用在移動(dòng)機(jī)器人上的。因而系統(tǒng)的研究設(shè)計(jì)需要考慮到體積小、省電、便于移動(dòng)的特性,并需具有便于家庭用戶操作的友好顯示界面。對(duì)于語(yǔ)音識(shí)別部分,需要用到用于語(yǔ)音識(shí)別算法處理的處理器、語(yǔ)音采集電路和語(yǔ)音輸出電路,如圖2所示。其中語(yǔ)音識(shí)別算法運(yùn)算的處理器主要負(fù)責(zé)算法的運(yùn)算處理,相當(dāng)于機(jī)器人的大腦;語(yǔ)音采集電路負(fù)責(zé)采集外部的聲音信號(hào),相當(dāng)于機(jī)器人的耳朵;語(yǔ)音輸出電路負(fù)責(zé)輸出話語(yǔ)聲音,相當(dāng)于機(jī)器人的嘴巴。
1)語(yǔ)音識(shí)別算法處理器選擇
根據(jù)系統(tǒng)設(shè)計(jì)功能的要求,目前常用的語(yǔ)音識(shí)別芯片種類一般有:?jiǎn)纹瑱C(jī)(MCU)、DSP和SoC(System on Circuit)。考慮到普通單片機(jī)(MCU)資源的緊缺及運(yùn)行速度較慢的缺點(diǎn),因而在本系統(tǒng)設(shè)計(jì)將不考慮使用單片機(jī)(MCU)作為語(yǔ)音識(shí)別的處理器。DSP包含用作數(shù)字信號(hào)處理的專用部件,運(yùn)算能力強(qiáng)、精度高,但目前DSP的價(jià)格比較高,同時(shí)考慮到本系統(tǒng)的特性,需要選擇一種既有較強(qiáng)的運(yùn)算能力,合適于語(yǔ)音識(shí)別的功能,并且能實(shí)現(xiàn)較好的用戶操作界面,并帶有文件系統(tǒng)(用于識(shí)別地圖)的功能,因而選擇DSP并不是明智之舉。目前Texas Instruments公司新推出的一款芯片OMAP3530,它具有雙內(nèi)核ARM CortexTM-A8的內(nèi)核和TMS320C64+TM DSP內(nèi)核,屬于高性能的OMAP35x架構(gòu)系列產(chǎn)品,滿足了系統(tǒng)設(shè)計(jì)的各種功能特性要求。
2)語(yǔ)音編解碼芯片選擇
機(jī)器人選擇一款合適的語(yǔ)音處理芯片是非常重要的。考慮到系統(tǒng)中用到了各種電源,并需要對(duì)電源進(jìn)行管理,因此選擇TI公司配套的TPS 65930芯片來(lái)作為系統(tǒng)語(yǔ)音識(shí)別部分的音頻編解碼處理功能的硬件平臺(tái)是非常合適的。該芯片是一個(gè)集成了電源管理、ADC、嵌入式電源控制(EPC)、全功能的音頻編解碼器于一體的芯片,滿足了系統(tǒng)所有電源管理和音頻編解碼的需要,為設(shè)計(jì)的PCB板節(jié)省了空間,同時(shí)減少了多電源硬件設(shè)計(jì)的負(fù)責(zé)布線煩惱。
3)電路設(shè)計(jì)
本文的設(shè)計(jì)是用在移動(dòng)機(jī)器人上的,因而需要語(yǔ)音的輸入、識(shí)別處理及語(yǔ)音輸出的功能。對(duì)于語(yǔ)音的輸入采集,本文使用聲音傳感器麥克風(fēng)及外圍電路來(lái)實(shí)現(xiàn)。對(duì)于語(yǔ)音輸出部分,使用功率放大器結(jié)合喇叭來(lái)使用。設(shè)計(jì)語(yǔ)音部分原理圖如圖3所示。
1.2 軟件設(shè)計(jì)
HTK(Hidden Markov Model Toolkit)是一套專門的建立和處理隱馬可夫模型(HMMs)的實(shí)驗(yàn)工具包,由英國(guó)劍橋大學(xué)工程系(Cambridge University Engineering Department,CUED)開(kāi)發(fā)的,主要應(yīng)用于語(yǔ)音識(shí)別領(lǐng)域,也可以應(yīng)用于語(yǔ)音合成、字符識(shí)別和DNA排序等研究領(lǐng)域。HTK經(jīng)過(guò)劍橋大學(xué)、Entropic公司及Microsoft公司的不斷增強(qiáng)和改進(jìn),使其在語(yǔ)音識(shí)別領(lǐng)域處于世界領(lǐng)先水平。
基于HTK的語(yǔ)言識(shí)別時(shí),識(shí)別結(jié)果適用只能顯示在DOS或終端上,而且不利于將結(jié)果保存、移植或者二次開(kāi)發(fā)利用。在本語(yǔ)音識(shí)別系統(tǒng)中使用了HTK接口工具ATK(AnApplication Toolkit for HTK)。ATK是由英國(guó)劍橋大學(xué)開(kāi)發(fā)的開(kāi)源語(yǔ)音識(shí)別工具,是對(duì)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ǔ)音識(shí)別軟件應(yīng)用系統(tǒng)的由語(yǔ)音信號(hào)采集模塊、基于DMA的雙向高速RAM存取模塊、ATK語(yǔ)音識(shí)別模塊、系統(tǒng)管理模塊、語(yǔ)音輸出模塊等模塊組成,如圖4所示。
在軟件設(shè)計(jì)中,系統(tǒng)管理模塊主要負(fù)責(zé)系統(tǒng)的總體管理調(diào)度,是應(yīng)用系統(tǒng)的調(diào)度中心;語(yǔ)音信號(hào)采集模塊主要負(fù)責(zé)控制數(shù)據(jù)采集芯片TPS 65930;基于DMA的雙向RAM存取模塊主要負(fù)責(zé)實(shí)現(xiàn)DMA驅(qū)動(dòng)及雙向RAM的讀寫存取,使用了通道1來(lái)實(shí)現(xiàn)高速地把語(yǔ)音信號(hào)采集到的數(shù)據(jù)存儲(chǔ)到RAM上,并使用通道2實(shí)現(xiàn)高速地把RAM的數(shù)據(jù)取出來(lái),用于語(yǔ)音的識(shí)別;語(yǔ)音輸出模塊主要負(fù)責(zé)把相應(yīng)的音頻數(shù)據(jù)送到TPS65930,并控制TPS6 5930對(duì)接收到的音頻解碼輸出到功放電路,實(shí)現(xiàn)語(yǔ)音輸出的功能。軟件的設(shè)計(jì)流程圖如圖5所示。
2 語(yǔ)音識(shí)別系統(tǒng)實(shí)驗(yàn)及結(jié)果
文中設(shè)計(jì)的語(yǔ)音識(shí)別系統(tǒng)如圖6所示。在實(shí)驗(yàn)中總共進(jìn)行了3輪話語(yǔ)測(cè)試,每輪300句話語(yǔ)測(cè)試,其中150句為家庭監(jiān)護(hù)機(jī)器人需要識(shí)別的話語(yǔ),150句話語(yǔ)為機(jī)器人不予置理的無(wú)關(guān)話語(yǔ)。本系統(tǒng)只設(shè)置10個(gè)需要識(shí)別的話語(yǔ),由15名學(xué)生分別讀音進(jìn)行測(cè)試。同時(shí)對(duì)無(wú)關(guān)話語(yǔ)也是由該15名學(xué)生,每人10句分別隨機(jī)讀音測(cè)試。從顯示結(jié)果可以看出,第1輪中,先測(cè)試的150句無(wú)關(guān)話語(yǔ)中,能正確識(shí)別出無(wú)關(guān)話語(yǔ)數(shù)為150句,識(shí)別出無(wú)關(guān)話語(yǔ)率為100%,但對(duì)需識(shí)別的話語(yǔ)中,正確識(shí)別出148句,2句識(shí)別出錯(cuò),識(shí)別率為98.67%;在第2輪中,同樣先測(cè)試的150句無(wú)關(guān)話語(yǔ)中,能正確識(shí)別出無(wú)關(guān)話語(yǔ)數(shù)為150句,識(shí)別出為無(wú)關(guān)話語(yǔ)率為100%,但對(duì)需識(shí)別的話語(yǔ)中,正確識(shí)別出142句,8句識(shí)別出錯(cuò),識(shí)別率為94.67%;在第3輪中,同樣先測(cè)試的150句無(wú)關(guān)話語(yǔ)中,能正確識(shí)別出無(wú)關(guān)話語(yǔ)數(shù)為150句,識(shí)別出無(wú)關(guān)話語(yǔ)率為100%,但對(duì)需識(shí)別的話語(yǔ)中,正確識(shí)別出146句,識(shí)別率為97.33%。在3輪測(cè)試中,系統(tǒng)都能實(shí)時(shí)響應(yīng)所有語(yǔ)句,未出現(xiàn)漏句現(xiàn)象。并且在實(shí)驗(yàn)測(cè)試的過(guò)程中,系統(tǒng)的響應(yīng)速度都非??欤杏^上沒(méi)有時(shí)間延遲,與真人交流速度相當(dāng)。
從實(shí)驗(yàn)測(cè)試結(jié)果可看出,對(duì)于識(shí)別10個(gè)需要識(shí)別的話語(yǔ)的識(shí)別率高達(dá)94.67%以上,具有較高的識(shí)別率,因而該語(yǔ)音識(shí)別系統(tǒng)較好達(dá)到了家庭監(jiān)護(hù)機(jī)器人使用的要求。
3 結(jié)論
文中通過(guò)DSP、DMA和ARM Cortex-A8的并行處理,利用雙緩沖的方法,在嵌入式Linux上實(shí)現(xiàn)了基于ATK的實(shí)時(shí)語(yǔ)音識(shí)別系統(tǒng)。該系統(tǒng)可以實(shí)時(shí)地實(shí)現(xiàn)語(yǔ)音識(shí)別,具有較高識(shí)別率,較快的響應(yīng)速度??梢詰?yīng)用在家庭監(jiān)護(hù)機(jī)器人及其相關(guān)領(lǐng)域中。