陽(yáng) 俊,吳 鳴,何 騫
(湖南城市學(xué)院,湖南 益陽(yáng) 413000)
語(yǔ)音識(shí)別的研究已經(jīng)開展了幾十年了。語(yǔ)音識(shí)別在國(guó)內(nèi)外一直是研究熱點(diǎn),也是一個(gè)業(yè)界研究的難點(diǎn)。針對(duì)目前語(yǔ)音識(shí)別的發(fā)展前景,本論文設(shè)計(jì)了一個(gè)嵌入式的中文語(yǔ)音識(shí)別系統(tǒng),并對(duì)它的推廣使用做了一些實(shí)現(xiàn)。系統(tǒng)采用ARM9-S3C2410處理器作為微處理器,利用嵌入式 Linux 作為底層操作系統(tǒng),自己裁剪軟硬件,設(shè)計(jì)出能用語(yǔ)音控制的嵌入式系統(tǒng)。
語(yǔ)音識(shí)別硬件系統(tǒng)采用底板加核心板的模式,參考S3C2410電路原理圖,根據(jù)語(yǔ)音識(shí)別項(xiàng)目的需要,將ARM9-S3C2410裁剪并做適當(dāng)?shù)母膭?dòng),設(shè)計(jì)出最小系統(tǒng)加LED燈電路、步進(jìn)電機(jī)電路、SD卡電路和音頻電路的具有專用性的硬件板。
PocketSphinx是一個(gè)開源項(xiàng)目,是用于嵌入式設(shè)備的大詞匯量連續(xù)語(yǔ)音識(shí)別系統(tǒng)。
PocketSphinx集成了半連續(xù)的隱馬爾可夫模型(SCHMM)、端點(diǎn)檢測(cè)技術(shù)、聲學(xué)模型的建立、3-Ngram語(yǔ)言模型的建立以及Viterbi快速搜索算法。語(yǔ)音識(shí)別系統(tǒng)框架圖如圖1所示。
圖1 語(yǔ)音識(shí)別系統(tǒng)框架圖
1.3.1安裝Sphinx語(yǔ)音識(shí)別工具包
Pocketsphinx — 用 C語(yǔ)言編寫的輕量級(jí)識(shí)別庫(kù)
Sphinxbase — Pocketsphinx 所需要的支持庫(kù)
CMUclmtk — 語(yǔ)言模型工具
Sphinxtrain — 聲學(xué)模型訓(xùn)練工具
下載網(wǎng)址:http://sourceforge.net
/projects/cmusphinx/files/
下載的對(duì)應(yīng)版本如下:
pocketsphinx-0.4.1.tar.gz
sphinxbase-0.3.tar.gz
cmuclmtk-0.7.tar.gz
SphinxTrain-1.0.7.tar.bz2
解壓安裝后,利用SphinxTrain和cmuclmtk,訓(xùn)練自己的中文語(yǔ)言模型與聲學(xué)模型。模型的訓(xùn)練過(guò)程詳見技術(shù)文檔。
1.3.2 加載訓(xùn)練的模型
(1)啟動(dòng)語(yǔ)音引擎
將生成的聲學(xué)模型與語(yǔ)言模型拷貝到對(duì)應(yīng)的執(zhí)行目錄,運(yùn)行
#./pocketsphinx_continuous
-hmm my_db.cd_cont_1000
-lm my_db.lm.DMP
-dict my_db.dic
這時(shí)會(huì)看到一連串的信息顯示在shell終端,等到出現(xiàn)Ready...的時(shí)候,我們就可以通過(guò)麥克風(fēng)進(jìn)行訓(xùn)練模型的識(shí)別了。
(2)結(jié)果分析
經(jīng)過(guò)語(yǔ)音識(shí)別的環(huán)境搭建與訓(xùn)練,我們可以看到驗(yàn)證的結(jié)果如圖2所示。
圖2 讀“前進(jìn)”
聲控應(yīng)用模塊,我們采用 Minigui模擬聲控般貪吃蛇游戲。通過(guò)Minigui與Sphinx通信,實(shí)現(xiàn)語(yǔ)音命令的語(yǔ)音聲控。
通過(guò)研究PocketSphinx的結(jié)構(gòu),可以發(fā)現(xiàn)在PocketSphinx中,其語(yǔ)音識(shí)別結(jié)果保存在tty-continuous.c文件中的字符串hyp中。Linux為進(jìn)程通信提供了多種通信機(jī)制。在本系統(tǒng)中,采用消息隊(duì)列,將識(shí)別結(jié)果從hyp中傳送到minigui程序。
實(shí)際運(yùn)行如圖3所示。
圖3 聲控版貪吃蛇游戲演示
語(yǔ)音技術(shù)是人機(jī)交互領(lǐng)域的重要研究對(duì)象,可以為人類的生產(chǎn)和生活提供極大的便利,而漢語(yǔ)連續(xù)語(yǔ)音識(shí)別的研究是語(yǔ)音研究領(lǐng)域中的重點(diǎn)和難點(diǎn),是一個(gè)應(yīng)用前景非常廣闊、極富有挑戰(zhàn)性的課題。
本系統(tǒng)在美國(guó)卡內(nèi)基梅隆大學(xué)開發(fā)的Sphinx系統(tǒng)工具基礎(chǔ)上以構(gòu)筑漢語(yǔ)連續(xù)語(yǔ)音識(shí)別系統(tǒng)為重點(diǎn),研究了連續(xù)語(yǔ)音識(shí)別系統(tǒng)中特征提取方法,聲學(xué)模型訓(xùn)練方法,語(yǔ)言模型訓(xùn)練方法和解碼方法,并自行設(shè)計(jì)硬件和聲控應(yīng)用。實(shí)現(xiàn)了嵌入式基于Linux的語(yǔ)音識(shí)別系統(tǒng)搭建,并能自行訓(xùn)練語(yǔ)音庫(kù),定制軟、硬件上特定的功能需求。其識(shí)別效率與識(shí)別結(jié)果基本滿足要求。
[1]陳賾, 秦貴中, 徐華中, 王磊.ARM9嵌入式技術(shù)及 Linux高級(jí)試驗(yàn)教程[M].北京:北京航空航天大學(xué)出版社, 2005.
[2]冼進(jìn), 許振山, 劉崢嶸, 張智超.嵌入式 Linux應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社, 2007.
[3]周立功.ARM嵌入式MiniGUI初步與應(yīng)用開發(fā)范例 [M].北京:航空航天大學(xué)出版社, 2005.
[6]Neil Matthew Richard Stones.Beginning Linux Programming[EB/OL].北京:人民郵電出版社, 2007:260-300.
[8]北京飛漫軟件技術(shù)有限公司.MiniGUI用戶手冊(cè), 2005.10.
[9]北京飛漫軟件技術(shù)有限公司.MGIS技術(shù)文檔, 2005.3.
[10]韓培寬.基于MiniGUI的嵌入式語(yǔ)音識(shí)別系統(tǒng)的研究[D].太原:太原理工大學(xué), 2010.
[11]http://cmusphinx.sourceforge.net/wiki/
[12]http://ronaldramdhan.wordpress.com/2010/03/11/sphinxtrain/