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