HTK安裝和測試

         整了大半天,終於把HTK安裝完成並測試成功了,查了不少資料,爲了感謝前輩的成果,我也記錄一下~

         HTK的全稱是”Hidden Markov Model Toolkit”,是英國劍橋大學工程學院開發的隱馬爾可夫模型(後面簡稱爲隱馬模型)工具包,可以方便有效的建立及操作隱馬模型。隱馬模型在許多人工智能領域都有着成功的應用,比如語音識別,當前國際上主流的語音識別系統仍是基於隱馬模型建立的。HTK的開發也主要是針對語音識別的應用及研究。

         HTK是一個開源工具包,http://htk.eng.cam.ac.uk/是其官網,可以在http://htk.eng.cam.ac.uk/download.shtml進行下載需要的工具,其中sources和samples(本文用samples中的HTKDemo文件夾)會在測試的時候用到, http://htk.eng.cam.ac.uk/進行免費下載,工具包中包含許許多多的模塊及工具,都是用純C代碼寫成的,基本都以H開頭。其中也有非常詳細的文檔可供參考。http://htk.eng.cam.ac.uk/docs/inst-win.shtml是整個安裝過程的官網介紹,可以耐心看下~

        安裝:

        第一步:HTK要使用 Microsoft Visual Studio進行編譯,所以要6.0以上版本。

        第二步:側似乎需要一個Perl翻譯,所以需要安裝一個ActivePerl.(下載地址http://www.activestate.com/activeperl

      (注意:如果自己電腦中已經安裝過oracle,可以會報“無法啓動此程序,計算機丟失Perl58.dll’”的錯誤,點擊確定後報出錯誤信息:Can't load     D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-threa d/auto/File/Glob/Glob.dll' for module File::Glob: load_file:找不到指定的模塊。 a t D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/XSLoader .pm line 68.

       此錯應該是早前安裝的Oracle與新裝的Perl衝突了,而且衝突是因爲Oracle在安裝的時候往我們系統中添加了一個Perl5Lib的環境變量,而這個環境變量指向的則是Oracle安裝目錄下那個模塊不全的Perl,從信息提示可以知道爲Oracle Home/perl目錄。改進方法如下:

       1、經常與Oracle打交道而偶爾玩下perl的一類朋友:如果是這樣的話,建議就不要對環境變量Perl5Lib動手了。在運行Perl命令之前,設置下當前命令行窗口的臨時Perl5Lib變量就可以了。如筆者的Perl10安裝在G盤根目錄下,則在運行Cmd後,使用命令Set Perl5Lib="G:\\Perl\bin\"改變下環境變量Perl5Lib的指向,該命令作用域爲Session級的,即重開Cmd後還得再次設置。

       2、 與上述情況相反的:可以先備份下Per5lLib的內容,然後將Perl5Lib清空或者設置爲G:\\Perl\Lib即OK

       3、兩者都經常打交道的:將G:\\Perl\Bin加到Perl5Lib的前面,注意,不是替換。

 

        第三步 :解壓HTK-3.4.1.zip到E盤

         1、開始\運行\cmd 回車

         2、 進入 e:\htk 目錄。這裏用到兩條命令: e: 和 cd htk

         3、建立文件夾: mk bin.win32

         4、運行命令:VCVARS32。如果提示找不到命令,大概解決辦法是安裝VC++6.0 或者其後版本。然後設置好path變量(在環境變量中的系統變量path後面添加D:\Program Files\Microsoft Visual Studio 10.0\VC\bin,記得路徑之間分號隔開);

         5、輸入如下命令,來編譯HTK Library:

              cd HTKLib(進入路徑)
              nmake /f htk_htklib_nt.mkf all
              cd ..(返回上級目錄)

              同理編譯HTK TOOLS ,輸入以下命令:

              cd HTKTools
              nmake /f htk_htktools_nt.mkf all
              cd ..
              cd HLMLib
              nmake /f htk_hlmlib_nt.mkf all
              cd ..
              cd HLMTools
              nmake /f htk_hlmtools_nt.mkf all
              cd ..

               6、編譯成功後,打開bin.win32文件夾,會發現剛纔6,7步編譯結果就存在此文件夾中,如圖:(http://www.zhaomingming.cn/HTK語音識別/HTK工具.jpg)所示,其中, 你可以找找有沒有這些文件,在使用篇中我們用的到:

               HSLab.exe     錄音,標記工具
               Hcopy.exe     從語音提取特徵參數的工具
               HInit.exe 和 HCompV.exe 對HMM模型初始化的工具,注意,這裏需要對每個模型都要使用此命令進行初始化
               HRest.exe     對模型進行迭代訓練的工具
               HParse.exe    語法轉網絡的工具,發音轉本文用到的。
               HSGen.exe    語法查錯工具
               HVite.exe      解碼工具,也就是識別工具。可以用命令行方式使用,也可以用交互方式使用。
               其他命令本文將不會用的到。

               7、.既然安裝好了,不妨測試一下安裝是否成功,這裏需要電腦安裝有 ActivePerl,將sampless文件夾下HTKDemo文件複製到E:\htk下,

               配置環境變量輸入命令 path=%path%;e:\htk\bin.win32

              測試,輸入命令  HInit

              然後使用如下命令(測試Demo):

              cd HTKDemo
              mkdir hmms
              cd hmms
              mkdir tmp
              mkdir hmm.0
              mkdir hmm.1
              mkdir hmm.2
              mkdir hmm.3
              cd ..
              mkdir proto
              mkdir acc
              mkdir test
              perl runDemo.pl configs\monPlainM1S1.dcf(這可能會提示perl不是內部命令,需要在系統變量中配路徑D:\Perl\bin,如果安裝了oracle,解決方案按文章最初所給方法解決)

         (重點提示)如果無法識別HSLab不是內部命令,將將htk目錄下的HTKLib中的HGraf.null.obj替換爲HGraf_WIN32.obj、HGraf.null.olv替換爲 HGraf_WIN32.olv。

              測試完成,ok了  ,碰到問題,最好找谷歌。。。

我主要參看(http://www.cnblogs.com/mingzhao810/archive/2012/08/03/2617674.html

附加一些網站吧:http://my.oschina.net/jamesju/blog/112602         

    http://www.cnblogs.com/yangecnu/archive/2012/03/30/KinectSDK_Geting_Started.html

發佈了24 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章