thchs30執行流程以及線上、離線識別
(1)thchs30執行過程以及bug修復
按照網上教程,訓練thchs30首先需要將run指令碼中的變數定位到你儲存資料的位置,其次是修改cmd指令碼中的queue為run.pl。但是不知道是我的主機原因還是系統的原因,總是不行,後來博主一步一步運行了指令碼,發現對於ubuntu16和ubuntu14是有很大的差別的。
首先,Ubuntu16是14的進化版,但是博主還是建議各位大佬裝14,因為16不穩定,而且容易出現毛病,而且在kaldi官網也明確說明了,安裝kaldi首選是Ubuntu14,。現在講一下我的踩坑過程,首先是博主的 cp -R 命令在終端可以執行,到了腳本里面就是不能執行,沒辦法,我只能按照指令碼的步驟,手動操作了(還有一種辦法是將cp -R裡面分分步執行)。
其次,是我在執行到對齊的時候出毛病,出現一堆數字,如下:
具體原因:暫時不明,對對齊沒有研究。
最後由於是機器的原因,在執行的過程中總是出現alloc這個error,一直出現記憶體不夠。解決方法是將nj調小,將n調小,在run指令碼中將mono tri tri2b等後面的 & 去掉,具體原因也不知道,但是就是對了。
這就是在訓練過程中遇到的問題,如果遇到有問題,請給留言。
(2)線上、離線識別的執行以及bug修復
離線的過程和線上的過程,參照下面兩篇部落格,但是有一些bug:
https://blog.csdn.net/snowdroptulip/article/details/78950038
https://blog.csdn.net/lijin6249/article/details/51838936?locationNum=4&fps=1
其中的bug大致可以分三步解決:
1:首先檢查linux 的錄音功能是否正常:arecord命令,採用arecord -l檢查錄音裝置是否正常,但是我採用的是audacity進行錄音,具體學習方法在我的部落格裡面存在;
2:檢查portaudio是否安裝成功,可以使用tools/install_portaudio.sh進行安裝,如果之前安裝過一遍,可以採用make clean;然後make進行重新安裝,然後在portaudio下進行./configure,通常情況下alsa顯示是no,可以通過apt-get install libasound-dev進行安裝;
3:最後就是檢查online-wav-gmm-decode-faster是否變異出來,如果出問題,可以進入src/online和src/onlinebin下,分別進行make clean 然後make,大致可以解決。
(3)總結
在修改指令碼的時候,建議各位大佬還是先進行備份,然後再進行修改,以防修改之後不知道如何還原;
不斷學習,不斷踩坑,才能得到成長,歡迎各位大佬給我留言或者互相學習。
參考文獻:https://blog.csdn.net/xwei1226/article/details/80238849