1. 程式人生 > >thchs30執行流程以及線上、離線識別

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