3.2.1 Julius部署
在本系統(tǒng)中語(yǔ)音識(shí)別部分是部署在Atom Z510上,而Atom Z510上首先需要移植linux操作系統(tǒng)(本系統(tǒng)采用的是ubuntu8.10)以上步驟在此不詳細(xì)介紹,文獻(xiàn)中有詳細(xì)說(shuō)明。語(yǔ)音識(shí)別的核心部分是Julius識(shí)別器,需要將Julius源碼編譯部署到Atom Z510平臺(tái)。其步驟如下:
?、僖_保linux系統(tǒng)中有以下支持庫(kù):Zlib、flex、OSS音頻驅(qū)動(dòng)接口、ESounD和libsndfile。
?、趶腏ulius官網(wǎng)下載源代碼Julius-4.1.5。
?、劢鈮海簍ar-zxjf julius-4.1.5。
?、芫幾g:%./configure,%make,%make install。
3.2.2 Julius配置
Julius全部采用C語(yǔ)言代碼實(shí)現(xiàn),采用模塊化設(shè)計(jì)方式,而且各功能模塊可配置。在使用前需要將配置參數(shù)寫(xiě)入jconf文件,此文件作為運(yùn)行參數(shù)載入系統(tǒng),系統(tǒng)掃描參數(shù)配置并啟動(dòng)各功能塊。其中重點(diǎn)介紹以下幾個(gè)配置參數(shù):
◆-dfa rtdog.dfa,指定語(yǔ)法文件rtdog.dfa;
◆-v rtdog.dict,指定字典文件;
◆-h rtdog.binhmm,指定HMM模型文件;
◆-lv 8000,設(shè)定音頻的閾值便于濾去噪音;
◆-rejectshort 600,設(shè)定最小的語(yǔ)音長(zhǎng)度;
◆-input mic,設(shè)定語(yǔ)音的輸入方式為microphone。
3.3 語(yǔ)音識(shí)別系統(tǒng)軟件設(shè)計(jì)
3.3.1 GUI設(shè)計(jì)
本系統(tǒng)為了方便測(cè)試,采用QT4的圖形庫(kù)來(lái)開(kāi)發(fā)人機(jī)界面(GUI),同時(shí)加入了手動(dòng)控制的按鈕。其總體功能如圖6所示。通信線程是本系統(tǒng)的數(shù)據(jù)傳輸樞紐,十分重要。在QT中通過(guò)對(duì)線程類QThread繼承來(lái)實(shí)現(xiàn)新的線程設(shè)計(jì)。該類提供了創(chuàng)建一個(gè)新線程以及控制線程運(yùn)行的各種方法。線程是通過(guò)QThread::run()重載函數(shù)開(kāi)始執(zhí)行的。在本系統(tǒng)中設(shè)計(jì)了1個(gè)數(shù)據(jù)通信線程,用它來(lái)不斷地讀取共享內(nèi)存中的語(yǔ)音命令,然后將其轉(zhuǎn)化為控制命令傳給機(jī)器人控制模塊。
![f.jpg](/uploads/allimg/110820/1609196420-5.jpg)
?
3.3.2 模塊間通信
由于系統(tǒng)的3個(gè)模塊不在同一個(gè)平臺(tái)上部署,運(yùn)行過(guò)程中需要進(jìn)行數(shù)據(jù)通信。GUI和Julius都部署在Atom Z510平臺(tái)上,但屬于2個(gè)進(jìn)程,它們之間可以通過(guò)共享內(nèi)存來(lái)交互數(shù)據(jù)。而GUI和機(jī)器人控制模塊就需要通過(guò)網(wǎng)絡(luò)通信來(lái)實(shí)現(xiàn)數(shù)據(jù)交互。這里采用的是基于TCP的socket編程接口來(lái)實(shí)現(xiàn)模塊間的通信,模塊間通信流程如圖7所示。
![g.jpg](/uploads/allimg/110820/1609191456-6.jpg)
?
4 實(shí)驗(yàn)測(cè)試
演示系統(tǒng)界面如圖8所示。本文使用大量的語(yǔ)音樣本來(lái)完成HTK的訓(xùn)練和模式構(gòu)建,語(yǔ)音樣本采用16 kHz采樣,16位量化。獨(dú)立的語(yǔ)音識(shí)別測(cè)試中,將訓(xùn)練集以及測(cè)試集中語(yǔ)音樣本和識(shí)別結(jié)果進(jìn)行了對(duì)比分析。本文語(yǔ)音樣本的內(nèi)容包括訓(xùn)練集(語(yǔ)料庫(kù)中的語(yǔ)音成分)和測(cè)試集(本實(shí)驗(yàn)中采集的語(yǔ)音)。由于本系統(tǒng)只用提取語(yǔ)音命令,不需要完整句子的識(shí)別,所以沒(méi)有針對(duì)句子做測(cè)試。
![h.jpg](/uploads/allimg/110820/1609195Z9-7.jpg)
?
本文對(duì)于訓(xùn)練集基于詞的識(shí)別率為71.7%,測(cè)試集基于詞的識(shí)別率為56.5%,測(cè)試結(jié)果如表1所列。
![i.jpg](/uploads/allimg/110820/16091a2X-8.jpg)
?
表中各符號(hào)所表示的意義如下所示:
H,正確;S,替代錯(cuò)誤;D,刪除錯(cuò)誤;I,插入錯(cuò)誤;N,標(biāo)記文件中單元總數(shù);SENT,句子,WORD:基本單元。
![j.jpg](/uploads/allimg/110820/1609191626-9.jpg)
?
結(jié)語(yǔ)
本文在給定的實(shí)驗(yàn)室機(jī)器人平臺(tái)上,設(shè)計(jì)了基于語(yǔ)音控制的機(jī)器狗系統(tǒng)。其中,語(yǔ)音識(shí)別子系統(tǒng)通過(guò)HTK和Julius的開(kāi)源平臺(tái)構(gòu)建而成。經(jīng)過(guò)測(cè)試分析,該系統(tǒng)能夠較好地識(shí)別人發(fā)出的語(yǔ)音命令,簡(jiǎn)化了機(jī)器人的操作,使機(jī)器與人的交互更加智能化。
評(píng)論