新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ATK的實時語音識別系統在家庭監護機器人中的應用實現

        基于ATK的實時語音識別系統在家庭監護機器人中的應用實現

        作者: 時間:2012-05-28 來源:網絡 收藏


        1.2 軟件設計

        HTK(Hidden Markov Model Toolkit)是一套專門的建立和處理隱馬可夫模型(HMMs)的實驗工具包,由英國劍橋大學工程系(Cambridge University Engineering Department,CUED)開發的,主要應用于領域,也可以應用于語音合成、字符識別和DNA排序等研究領域。HTK經過劍橋大學、Entropic公司及Microsoft公司的不斷增強和改進,使其在領域處于世界領先水平。

        基于HTK的語言識別時,識別結果適用只能顯示在DOS或終端上,而且不利于將結果保存、移植或者二次開發利用。在本系統中使用了HTK接口工具ATK(AnApplication Toolkit for HTK)。ATK是由英國劍橋大學開發的開源語音識別工具,是對HTK的C++多線程封裝,跟HTK一樣,它支持和Windows,它包括HTK(HTKLib)、AHTK、AGram、ANGram、ADict、AHMMs、AResource、ARMan、ARec、ACode、ASour ce、ATee、AComponent、ABuffer、APacket、Asyn、FLite(SYNLib)、ALog模塊部件。

        基于ATK的語音識別軟件應用系統的由語音信號采集模塊、基于DMA的雙向高速RAM存取模塊、ATK語音識別模塊、系統管理模塊、語音輸出模塊等模塊組成,如圖4所示。

        本文引用地址:http://www.104case.com/article/257479.htm



        在軟件設計中,系統管理模塊主要負責系統的總體管理調度,是應用系統的調度中心;語音信號采集模塊主要負責控制數據采集芯片TPS 65930;基于DMA的雙向RAM存取模塊主要負責實現DMA驅動及雙向RAM的讀寫存取,使用了通道1來實現高速地把語音信號采集到的數據存儲到RAM上,并使用通道2實現高速地把RAM的數據取出來,用于語音的識別;語音輸出模塊主要負責把相應的音頻數據送到TPS65930,并控制TPS6 5930對接收到的音頻解碼輸出到功放電路,實現語音輸出的功能。軟件的設計流程圖如圖5所示。




        2 語音識別系統實驗及結果

        文中設計的語音識別系統如圖6所示。在實驗中總共進行了3輪話語測試,每輪300句話語測試,其中150句為家庭監護機器人需要識別的話語,150句話語為機器人不予置理的無關話語。本系統只設置10個需要識別的話語,由15名學生分別讀音進行測試。同時對無關話語也是由該15名學生,每人10句分別隨機讀音測試。從顯示結果可以看出,第1輪中,先測試的150句無關話語中,能正確識別出無關話語數為150句,識別出無關話語率為100%,但對需識別的話語中,正確識別出148句,2句識別出錯,識別率為98.67%;在第2輪中,同樣先測試的150句無關話語中,能正確識別出無關話語數為150句,識別出為無關話語率為100%,但對需識別的話語中,正確識別出142句,8句識別出錯,識別率為94.67%;在第3輪中,同樣先測試的150句無關話語中,能正確識別出無關話語數為150句,識別出無關話語率為100%,但對需識別的話語中,正確識別出146句,識別率為97.33%。在3輪測試中,系統都能實時響應所有語句,未出現漏句現象。并且在實驗測試的過程中,系統的響應速度都非??欤杏^上沒有時間延遲,與真人交流速度相當。



        從實驗測試結果可看出,對于識別10個需要識別的話語的識別率高達94.67%以上,具有較高的識別率,因而該語音識別系統較好達到了家庭監護機器人使用的要求。

        3 結論

        文中通過DSP、DMA和ARM 的并行處理,利用雙緩沖的方法,在嵌入式上實現了基于ATK的實時語音識別系統。該系統可以實時地實現語音識別,具有較高識別率,較快的響應速度。可以應用在家庭監護機器人及其相關領域中。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连云港市| 晋城| 大竹县| 玉屏| 南投县| 永靖县| 安图县| 乐业县| 松溪县| 武夷山市| 浠水县| 大理市| 石屏县| 马尔康县| 惠来县| 隆昌县| 福泉市| 汕尾市| 宁津县| 黑河市| 辛集市| 嘉义县| 博罗县| 泗阳县| 察隅县| 开化县| 香格里拉县| 平舆县| 深州市| 麟游县| 文水县| 青阳县| 泸西县| 江源县| 武夷山市| 崇州市| 琼结县| 双江| 玛沁县| 云林县| 竹北市|