語音識別系統 Sphinx-4 介紹
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系統,
那么需要修改配置文件,才能正確開始。
下面來深入一些,了解從語音到識別的這樣一個過程。
附件是識別器的示意圖。
下面簡單說一下各模塊的用處
FrontEnd:
前端處理模塊,把語音轉換成特征就是由這個模塊完成。
FrontEnd經過簡單的配置后可以
將Wav文件、麥克風甚至倒譜(cepstrum)文件做為輸入。
Decoder:
解碼器,將搜索語言模型,找出與特征相對應的識別項(一般是音素)
Linguist:
金山給的翻譯是語言學家,這樣稱為語言模型更貼切。
它包括三個部分,
AcousticModel:聲學模型,建立輸入聲音和音素的關系
Dictionary:字典,可以接受的音素范圍。
LanguageModel:語言模型,建立字與字之間先后語言關系。
這三個模型是預先建立好的,我會在模型創建那段去
仔細講這三個模型。
更詳細的信息從下面的白皮書上可以查到
http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4Whitepaper.pdf
項目主頁:http://www.baiduhome.net/lib/view/home/1324807508858
轉自:http://www.xiruibin.com/archives/57