基于Julius的機器人語音識別系統構建
摘要:隨著機器人技術不斷發展,本文提出機器人的語音識別這一智能人機交互方式。在研究了基于HMM語音識別基本原理的情況下,在實驗室的機器人平臺上,利用HTK和Julius開源平臺,構建了一個孤立詞的語音識別系統。利用該語音識別系統可以提取語音命令用于機器人的控制。
關鍵詞:機器人;語音識別;HMM;HTK;Julius
引言
隨著現代科技和計算機技術的不斷發展,人們在與機器的信息交流中,需要一種更加方便、自然的交互方式,實現人機之間的語音交互,讓機器聽懂人話是人們夢寐以求的事情。語音識別技術的發展,使得這一理想得以實現,把語音識別技術與機器人控制技術相結合,正成為目前研究的熱點,不但具有較好的理論意義,而且有較大的實用價值。
語音識別技術應用于機器人系統大多是針對特定的環境,設計出語音命令來進行控制的。只需要對幾十個字或詞的命令行進語音識別,便可使得原本需要手工操作的工作由語音輕松完成。本文針對現有機器人平臺,設計一個非特定人的孤立詞語音識別系統。
1 語音識別原理及JuliUS簡介
1.1 基于HMM的語音識別原理
語音識別系統是一種模式識別系統,系統首先對語音信號進行分析,得到語音的特征參數,然后對這些參數進行處理,形成標準的模板。這個過程稱為訓練或學習。當有測試語音進入系統時,系統將對這些語音信號進行處理,然后進行參考模板的匹配,得出結果。此時便完成了語音識別的過程。
目前,HMM作為語音信號的一種統計模型,是語音識別技術的主流建模方法,正在語音處理各個領域中獲得廣泛的應用。現在許多商用語音軟件,以及各種具有優良性能的語音識別系統,都是在此模型上開發的,已經形成了完整的理論框架。
基于HMM模式匹配算法的語音識別系統表現為:在訓練階段,采用HMM訓練算法為每一個詞條建立一個HMM模型。詞條經過反復訓練后,將得到的對應HMM模型加入HMM模型庫中以數據的形式保存。在匹配階段,也就是識別階段,采用HMM匹配算法將輸入的未知語音信號與訓練階段得到的模型庫中的模型進行匹配,輸出語音識別的結果。
1.2 JuliUS簡介
Julius是日本京都大學和日本IPA(Information-tech-nology Promotion Agency)聯合開發的一個實用高效雙通道的大詞匯連續語音識別引擎。目前已經能較好地應用于日語和漢語的大詞匯量連續的語音識別系統。Julius由純C語言開發,遵循GPL開源協議,能夠運行在Lin-ux、Windows、Mac:OS X、Solaris以及其他Unix平臺。Julius最新的版本采用模塊化的設計思想,使得各功能模塊可以通過參數配置。
Julius的運行需要一個語言模型和一個聲學模型。利用Julius,通過結合語言模型和聲學模型,可以很方便地建立一個語音識別系統。語言模型包括一個詞的發音字典和語法約束。Julius支持的語言模型包括:N-gram模型,以規則為基礎的語法和針對孤立詞識別的簡單單詞列表。聲學模型必須是以分詞為單位且由HMM定義的。
應用程序可以有兩種方式與Julius交互:一種是基于套接字的服務器一客戶端通信方式,另一種是基于函數庫的嵌入方式。在這兩種情況下,要識別過程結束,識別結果就被送入應用程序中,應用程序就能得到Julius引擎的現有狀態和統計,并可以操作官。Julius概述如圖1所示。
評論