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