1. 程式人生 > >kaldi上執行THCHS-30

kaldi上執行THCHS-30

參考文章:

http://kaldi-asr.org/doc/

https://sourceforge.net/p/kaldi/discussion/

https://shiweipku.gitbooks.io/chinese-doc-of-kaldi

https://sourceforge.net/p/kaldi/discussion/1355348/thread/1ff78ec8/

http://kaldi-asr.org/doc/dnn1.html#dnn1_conversion_to_dnn2

需要安裝的:pip install cython

1. 資料準備,/thchs30/README.txt這裡面有寫,3個壓縮包,記得解壓。


2.修改/thchs30/s5/run.sh中的"thchs=....."的資料路徑。


3.修改/thchs30/s5/cmd.sh 為:


4. 然後執行run.sh,中間遇到過幾個小問題,本人ubuntu14.04,修改n=4,我的機器是4核的。  中間如果出現Error,多半是記憶體不足引起的,8G記憶體跑不過,24G記憶體跑過了。

5. 插曲:倒數第二個的dnn模型,需要用gpu進行訓練,安裝方式網上有。

6.安裝portaudio:/tools/下./install_portaudio.sh

7./src/下 , make ext

8.從voxforge把online_demo拷貝到thchs30下,和s5同級,online_demo建online-data和work兩個資料夾。online-data下建audio和models,audio放要識別的wav,models建tri1,講s5下/exp/下的tri1下的final.mdl和35.mdl拷貝過去,把s5下的exp下的tri1下的graph_word裡面的words.txt和HCLG.fst也拷過去。

9.以下是跑tri1,註釋掉run.sh:


10. 修改run.sh:

ac_model_type=tri2b_mmi 改成ac_model_type=tri1


11.修改run.sh:


12.執行/.run.sh 就可以出現字了,中間如果有問題可以通過提示解決。

13.執行tri2(tri3,tri4同理):把s5下的exp下的tri2b下的12.mat考到models的tri2b下,把final.mat考過來,再拷貝其他相應的檔案,修改,


14.修改run.sh:新增--left-context=3 --right-context=3,執行即可:


15.執行dnn:首先要將nnet1轉成nnet2,如何轉換,上面的文章裡有,再貼一下連結:http://kaldi-asr.org/doc/dnn1.html#dnn1_conversion_to_dnn2,https://sourceforge.net/p/kaldi/discussion/1355348/thread/1ff78ec8/。

轉載自:http://www.jianshu.com/p/22fc9906878f