關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Julius的機(jī)器人語音識(shí)別系統(tǒng)構(gòu)建

基于Julius的機(jī)器人語音識(shí)別系統(tǒng)構(gòu)建

作者: 時(shí)間:2011-08-19 來源:網(wǎng)絡(luò) 收藏

d.jpg


(4)HMM訓(xùn)練
先使用HInit工具對HMM模型進(jìn)行初始化,再用HCompv工具來對模型進(jìn)行平坦初始化。HMM模型的每個(gè)狀態(tài)給定相同的平均向量和變化向量,在整個(gè)訓(xùn)練集上全局計(jì)算而得。最后用HRest的多次估計(jì)迭代,估計(jì)出HMM模型參數(shù)的最佳值,經(jīng)多次迭代,將訓(xùn)練得到的單個(gè)HMM模型整合到一個(gè)hmmsdef.mmf文件中。聲學(xué)模型HTK訓(xùn)練流程如圖5所示。

e.jpg


3.2 應(yīng)用
3.2.1 部署
在本部分是部署在Atom Z510上,而Atom Z510上首先需要移植linux操作(本系統(tǒng)采用的是ubuntu8.10)以上步驟在此不詳細(xì)介紹,文獻(xiàn)中有詳細(xì)說明。的核心部分是器,需要將Julius源碼編譯部署到Atom Z510平臺(tái)。其步驟如下:
①要確保linux系統(tǒng)中有以下支持庫:Zlib、flex、OSS音頻驅(qū)動(dòng)接口、ESounD和libsndfile。
②從Julius官網(wǎng)下載源代碼Julius-4.1.5。
③解壓:tar-zxjf julius-4.1.5。
④編譯:%./configure,%make,%make install。
3.2.2 Julius配置
Julius全部采用C語言代碼實(shí)現(xiàn),采用模塊化設(shè)計(jì)方式,而且各功能模塊可配置。在使用前需要將配置參數(shù)寫入jconf文件,此文件作為運(yùn)行參數(shù)載入系統(tǒng),系統(tǒng)掃描參數(shù)配置并啟動(dòng)各功能塊。其中重點(diǎn)介紹以下幾個(gè)配置參數(shù):
◆-dfa rtdog.dfa,指定語法文件rtdog.dfa;
◆-v rtdog.dict,指定字典文件;
◆-h rtdog.binhmm,指定HMM模型文件;
◆-lv 8000,設(shè)定音頻的閾值便于濾去噪音;
◆-rejectshort 600,設(shè)定最小的長度;
◆-input mic,設(shè)定語音的輸入方式為microphone。
3.3 語音識(shí)別系統(tǒng)軟件設(shè)計(jì)
3.3.1 GUI設(shè)計(jì)
本系統(tǒng)為了方便測試,采用QT4的圖形庫來開發(fā)人機(jī)界面(GUI),同時(shí)加入了手動(dòng)控制的按鈕。其總體功能如圖6所示。通信線程是本系統(tǒng)的數(shù)據(jù)傳輸樞紐,十分重要。在QT中通過對線程類QThread繼承來實(shí)現(xiàn)新的線程設(shè)計(jì)。該類提供了創(chuàng)建一個(gè)新線程以及控制線程運(yùn)行的各種方法。線程是通過QThread::run()重載函數(shù)開始執(zhí)行的。在本系統(tǒng)中設(shè)計(jì)了1個(gè)數(shù)據(jù)通信線程,用它來不斷地讀取共享內(nèi)存中的語音命令,然后將其轉(zhuǎn)化為控制命令傳給控制模塊。

f.jpg



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉