1. 程式人生 > >有趣的開源軟體:語音識別工具Kaldi (一)

有趣的開源軟體:語音識別工具Kaldi (一)

Kaldi是一個非常強大的語音識別工具庫,主要由Daniel Povey開發和維護。目前支援GMM-HMM、SGMM-HMM、DNN-HMM等多種語音識別的模型的訓練和預測。其中DNN-HMM中的神經網路還可以由配置檔案自定義,DNN、CNN、TDNN、LSTM以及Bidirectional-LSTM等神經網路結構均可支援。

下載以及安裝

與其他開源軟體一樣,首先Clone它在Github上的程式碼

$ git clone https://github.com/kaldi-asr/kaldi

Clone下來之後按照INSTALL檔案的指示,需要先完成tools資料夾下的編譯安裝,然後再去編譯src下的內容。因此,先去tools資料夾:

$ cd kaldi/tools

在tools資料夾下依舊有一個INSTALL,我們根據它的指示,一步一步完成安裝。首先,需要執行extras/check_dependencies.sh這個指令碼來檢查一些依賴的環境是否存在並且正確配置。

$  extras/check_dependencies.sh
extras/check_dependencies.sh: automake is not installed.
extras/check_dependencies.sh: autoconf is not installed.
extras/check_dependencies.sh: neither libtoolize nor glibtoolize is installed
extras/check_dependencies.sh: subversion is not installed
extras/check_dependencies.sh: we recommend that you run (our best guess):
  sudo apt-get install automake autoconf libtool subversion
You should probably do: 
  sudo apt-get install libatlas3-base
/bin/sh is linked to dash, and currently some of the scripts will not run properly.  We recommend to run:
  sudo ln -s -f bash /bin/sh

這個輸出的結果不同的Linux會不相同(我的是Ubuntu 16.04)。根據check_dependencies.sh輸出結果的提示,安裝缺的包,以及配置正確的環境

$ sudo apt-get install automake autoconf libtool subversion
$ sudo apt-get install libatlas3-base
$ sudo ln -s -f bash /bin/sh

然後再重新執行一遍check_dependencies.sh

$ extras/check_dependencies.sh
extras/check_dependencies.sh: all OK.

如果輸出以上結果,那麼我們可以繼續安裝了

$ make -j 16

其中-j 16是開16個job同時進行編譯,這個可以根據CPU核心的數量進行指定。確定沒有錯誤後切換到src資料夾

$ cd ../src

這裡面也包含了一個INSTALL檔案,按照裡面的步驟編譯和安裝

$ ./configure

執行完成後在最後一行可以看到SUCCESS,如果沒有的話那應該是哪個步驟出問題了,可以去檢查一下上面幾個步驟是否有錯誤

$ make depend
$ make -j 16

檢查一下編譯是否有錯誤,如果沒有錯誤的話make指令碼會在螢幕的最後一行輸出Done。至此Kaldi的編譯安裝完成了,可以愉快的開始訓練模型了:P