郭志強(qiáng),徐麗娜
(吉林大學(xué) 珠海學(xué)院,廣東 珠海 519000)
語(yǔ)音是人類最常用的交流方式,也是人類和計(jì)算機(jī)交流最渴望的方式[1]。因此用語(yǔ)音同計(jì)算機(jī)交流也成為了最近研究的熱點(diǎn),計(jì)算機(jī)對(duì)語(yǔ)音的理解是計(jì)算機(jī)科學(xué)中的一個(gè)引人入勝的、富有挑戰(zhàn)性的課題[2]。
進(jìn)入90年代,隨著多媒體時(shí)代的來(lái)臨,迫切要求語(yǔ)音識(shí)別系統(tǒng)從實(shí)驗(yàn)室走向?qū)嵱谩TS多發(fā)達(dá)國(guó)家如美國(guó)、日本、韓國(guó)以及IBM、Apple、AT&T、NTT等著名公司都為語(yǔ)音識(shí)別系統(tǒng)的實(shí)用化開發(fā)研究投以巨資。IBM公司于1997年開發(fā)出漢語(yǔ)ViaVoice語(yǔ)音識(shí)別系統(tǒng),次年又開發(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等[3]。
我國(guó)語(yǔ)音識(shí)別研究工作開始的較晚,但近年來(lái)發(fā)展得很快,一直緊跟國(guó)際水平,國(guó)家也很重視,并把大詞匯量語(yǔ)音識(shí)別的研究列入“863”計(jì)劃,由中科院聲學(xué)所、自動(dòng)化所、清華大學(xué)電子工程系及北京大學(xué)等單位研究開發(fā),取得了高水平的科研成果,如中科院自動(dòng)化所研制的非特定人、連續(xù)語(yǔ)音聽寫系統(tǒng)和漢語(yǔ)語(yǔ)音人機(jī)對(duì)話系統(tǒng),其字準(zhǔn)確率或系統(tǒng)響應(yīng)率可達(dá)90%以上[4]。鑒于中國(guó)未來(lái)龐大的市場(chǎng),國(guó)外也非常重視漢語(yǔ)語(yǔ)音識(shí)別的研究。美國(guó)、新加坡等地聚集了一批來(lái)自大陸、臺(tái)灣、香港等地的學(xué)者,研究成果已達(dá)到相當(dāng)高水平。
文中是家庭監(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 系統(tǒng)總體結(jié)構(gòu)框圖Fig.1 Overall structure of system
文中所研究和設(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ī)器人的嘴巴。

圖2 系統(tǒng)硬件結(jié)構(gòu)圖Fig.2 Structure diagram of the hardware system
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公司配套的TPS65930芯片來(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所示。
HTK (Hidden Markov Model Toolkit) 是一套專門的建立和處理隱馬可夫模型(HMMs)的實(shí)驗(yàn)工具包[5],由英國(guó)劍橋大學(xué)工程系 (Cambridge University Engineering Department,CUED)開發(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é)果保存、移植或者二次開發(fā)利用[6]。在本語(yǔ)音識(shí)別系統(tǒng)中使用了HTK接口工具ATK(An Application Toolkit for HTK)。ATK是由英國(guó)劍橋大學(xué)開發(fā)的開源語(yǔ)音識(shí)別工具,是對(duì)HTK的C++多線程封裝,跟HTK一樣,它支持 Linux 和 Windows[7],它包括 HTK(HTKLib)、AHTK、AGram、ANGram、ADict、AHMMs、AResource、ARMan、ARec、ACode、ASource、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所示。

圖4 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖Fig.4 Schematic diagram of the software system
在軟件設(shè)計(jì)中,系統(tǒng)管理模塊主要負(fù)責(zé)系統(tǒng)的總體管理調(diào)度,是應(yīng)用系統(tǒng)的調(diào)度中心;語(yǔ)音信號(hào)采集模塊主要負(fù)責(zé)控制數(shù)據(jù)采集芯片TPS65930;基于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,并控制TPS65930對(duì)接收到的音頻解碼輸出到功放電路,實(shí)現(xiàn)語(yǔ)音輸出的功能。軟件的設(shè)計(jì)流程圖如圖5所示。

圖5 軟件設(shè)計(jì)流程Fig.5 Flow chart of the software design
文中設(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)速度都非???,感觀上沒有時(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ī)器人使用的要求。

圖6 系統(tǒng)實(shí)驗(yàn)界面Fig.6 Interface chart of the system
文中通過(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)域中。
[1]楊行峻,遲惠生.語(yǔ)音信號(hào)數(shù)字處理[M].北京:電子工業(yè)出版社,1995.
[2]蔡蓮紅,黃德智.現(xiàn)代語(yǔ)音技術(shù)基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[3]何湘智.語(yǔ)音識(shí)別的研究與發(fā)展 [J].計(jì)算機(jī)與現(xiàn)代化,2002(3):3-6.
HE Xiang-zhi.The research and development of speech recognition[J].Computer and Modernization,2002(3):3-6.
[4]王炳錫,屈丹,彭煊,等.實(shí)用語(yǔ)音識(shí)別基礎(chǔ)[M].北京:國(guó)防工業(yè)出版社,2005.
[5]Young S,Evermann G,Gales M,et al.The HTK Book (for HTK Version3.4) [EB/OL].[2009-03]http://htk.eng.cam.ac.uk/.
[6]饒耀全,吳小培,呂釗.基于HTK的漢語(yǔ)語(yǔ)音售票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2010,23(10):58-61.
RAO Yao-quan,WU Xiao-pei,LV Zhao.HTK based Chinese speech ticketing system design and implementation[J].Industrial Control Computer,2010,23(10):58-61.
[7]ATK_Manual.pdf[EB/OL]. (2011) http://htk.eng.cam.ac.uk/develop/atk.shtml.