語音識別系統 Sphinx-4 介紹

jopen 12年前發布 | 129K 次閱讀 Java 多媒體處理

sphinx系統是一個擁有悠久歷史的語音識別系統,
傳說中是第一個實用的10數字語音系統。
是由卡奈基.美隆大學研發。

sphinx3.x是基于C語言的最新版本,sphinx和sphinx2請大家不要去研究了。
sphinx for ppc是一個在PocketPc上實現的嵌入式語音識別系統。

而sphinx4是完全用JAVA編寫實現的語音識別系統,
因為JAVA的特性,在平臺間移植方便很多。

需要注意的是sphinx3和sphinx4不是先后的關系,而是平行的,
主要區別是前一個用C語言實現,后一個用JAVA語言實現。

因為種種原因我研究sphinx4有一個月時間了,
根據自己需要閱讀修改了FrontEnd部分源代碼,

1.sphinx4主頁是
http://cmusphinx.sourceforge.net/sphinx4/
請把它加入收藏,謝謝。
上面有下載的連接。

現在最新的版本應該是這個sphinx4-1.0beta-bin.zip 
解壓到e:\sphinx4 
(我以這個目錄為例,以后的講述都是假設這個為根目錄,
而且以"sphinx4>"這個代替命令行下的這個目錄 )

給PC接上麥克風(Mic),cmd進入命令行
運行
sphinx4> java -jar bin/HelloDigits.jar
這是一個識別單個數字的DEMO程序

2.如果你還沒能用那個識別數字的DEMO
檢查了一下自己英語數字的發音。

那么說明你環境有問題,請檢查以下事項

a.是否有JAVA運行環境,在命令行下敲 java
若沒有,這樣的一些演示
“Usage: java [-options] class [args… "
說明JAVA運行環境有問題,
到http://java.sun.com/j2se/1.4.2/download.html
點連接"Download J2SE JRE "下載并安裝JAVA運行環境。

b.若可以啟動,但對著麥克風說話,DEMO沒能正確識別出來。
那么請檢查麥克風是否接好,在QQ,或MSN,或SKYPE中語聊一會
確認自己的麥克風連接沒有問題。

如果你是用的LINUX系統或其他類UNIX系統,
那么需要修改配置文件,才能正確開始。

 

3. 如果你已經成功運行DEMO,那么你已經對SPHINX4有了感性認識。
下面來深入一些,了解從語音到識別的這樣一個過程。

 

附件是識別器的示意圖。

下面簡單說一下各模塊的用處

FrontEnd:
前端處理模塊,把語音轉換成特征就是由這個模塊完成。
FrontEnd經過簡單的配置后可以
將Wav文件、麥克風甚至倒譜(cepstrum)文件做為輸入。

Decoder:
解碼器,將搜索語言模型,找出與特征相對應的識別項(一般是音素)

Linguist:
金山給的翻譯是語言學家,這樣稱為語言模型更貼切。
它包括三個部分,
AcousticModel:聲學模型,建立輸入聲音和音素的關系
Dictionary:字典,可以接受的音素范圍。
LanguageModel:語言模型,建立字與字之間先后語言關系。
這三個模型是預先建立好的,我會在模型創建那段去
仔細講這三個模型。

更詳細的信息從下面的白皮書上可以查到
http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4Whitepaper.pdf 

語音識別系統 Sphinx-4 介紹

項目主頁:http://www.baiduhome.net/lib/view/home/1324807508858


轉自:http://www.xiruibin.com/archives/57

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!