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