關(guān) 閉

        新聞中心

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

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

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

        d.jpg


        (4)HMM訓(xùn)練
        先使用HInit工具對(duì)HMM模型進(jìn)行初始化,再用HCompv工具來(lái)對(duì)模型進(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ì)說(shuō)明。的核心部分是器,需要將Julius源碼編譯部署到Atom Z510平臺(tái)。其步驟如下:
        ①要確保linux系統(tǒng)中有以下支持庫(kù):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語(yǔ)言代碼實(shí)現(xiàn),采用模塊化設(shè)計(jì)方式,而且各功能模塊可配置。在使用前需要將配置參數(shù)寫入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è)定最小的長(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)化為控制命令傳給控制模塊。

        f.jpg



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 内江市| 连平县| 阳信县| 隆化县| 巴塘县| 蛟河市| 阳谷县| 蕉岭县| 娄底市| 松江区| 宜良县| 湄潭县| 鄄城县| 桦南县| 精河县| 深水埗区| 北辰区| 工布江达县| 冕宁县| 莱阳市| 那曲县| 孙吴县| 湘潭县| 元朗区| 依安县| 威远县| 区。| 徐水县| 偏关县| 青冈县| 河津市| 大化| 双辽市| 达拉特旗| 大同市| 肥乡县| 临汾市| 蓝田县| 浦江县| 尖扎县| 青神县|