Kaldi語音識別快速入門


一.簡介

  Kaldi是使用C++編寫的語音識別工具包,Apache License v2.0許可。主要供語音識別研究人員使用。Kaldi的目標和范圍與HTK類似。目標是擁有易於修改和擴展的現代而靈活的代碼。主要功能包括:

  1.與有限狀態傳感器FST的代碼進行集成,根據OpenFst工具箱【作為庫】進行編譯。

  2.廣泛的線性代數支持,包括一個包裝標准BLAS和LAPACK例程的矩陣庫。

  3.可擴展的設計,以方便使用為目的提供算法。

  

二.安裝Kaidi

  1.下載

    在Linux你要安裝的目錄下執行:git clone https://github.com/kaldi-asr/kaldi.git kaldi --origin upstream

  2.更新

    當需要更新時,可以執行:git pull

  3.安裝環境

    理想的計算環境是運行在SGE【Sun GridEngine】的Linux機器的集群上,可以通過NFS或某些類似的網絡文件系統訪問共享目錄。在理想情況下,網格上的某些計算機將具有NVidia GPU,這樣可以將它們用於神經網絡的訓練,並且可以通過向qsub添加一些額外的選型將它們保留在隊列中。在實際情況或用於學習時,可能單機是比較普遍的,在單機情況下,Kaldi是可以運行的,盡管這樣做會執行的慢一點,並且可能必須要減少某些示例腳本中使用的作業數量,以免耗盡機器的內存。

  4.所需的軟件包

    1.Git這是下載Kaldi及其依賴的其他軟件所必須的。

    2.wget是安裝某些非Kaldi組件時所必須的。

    3.示例腳本需要標准的UNIX實用程序,例如bash,perl,awk,grep和make。

  5.安裝依賴

    執行命令:cd kaldi/tools/

    執行命令:./check_dependencies.sh腳本檢查需要安裝的依賴

    

    注意:你的機器上可能提示的比這多,這就需要單獨執行yum install xxx -y進行逐個安裝!

    在安裝可能會報這個異常:

    

    此時可以安裝gcc的gfortran

    

    

    再次執行檢測腳本,可以查看已經完成所有依賴的安裝

    

  6.編譯【tools目錄下】

    然后執行:cd .. 回退到上一級,接着執行make進行編譯【make中也會執行檢測腳本】

    

    若最后提示報錯:

    

    這是因為openfst-1.6.7在解壓時內存不足報錯,之后重試時重新下載了jar包命名為openfst-1.6.7.tar.gz.1。解決方案是刪除之前解壓好的文件夾,之后重解壓壓縮文件,之后重新執行make進行編譯。若報以下警告:

    

    安裝IRSTLM

    

  7.檢測外部庫安裝情況

    

  8.預編譯   

[root@slave01 src]# make depend
make -C base/ depend
./get_version.sh: Git history is not available. ./get_version.sh: Using the version number "5.4" specified in src/.version.
make[1]: Entering directory `/usr/local/soft/kaldi/src/base'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/base'
make -C matrix/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/matrix'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/matrix'
make -C util/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/util'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/util'
make -C feat/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/feat'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/feat'
make -C tree/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/tree'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/tree'
make -C gmm/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/gmm'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/gmm'
make -C transform/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/transform'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/transform'
make -C fstext/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/fstext'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/fstext'
make -C hmm/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/hmm'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/hmm'
make -C lm/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/lm'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/lm'
make -C decoder/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/decoder'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/decoder'
make -C lat/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/lat'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/lat'
make -C kws/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/kws'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/kws'
make -C cudamatrix/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/cudamatrix'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/cudamatrix'
make -C nnet/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnet'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnet'
make -C bin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/bin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/bin'
make -C fstbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/fstbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/fstbin'
make -C gmmbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/gmmbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/gmmbin'
make -C fgmmbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/fgmmbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/fgmmbin'
make -C featbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/featbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/featbin'
make -C nnetbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnetbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnetbin'
make -C latbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/latbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/latbin'
make -C sgmm2/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/sgmm2'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/sgmm2'
make -C sgmm2bin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/sgmm2bin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/sgmm2bin'
make -C nnet2/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnet2'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnet2'
make -C nnet3/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnet3'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnet3'
make -C rnnlm/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/rnnlm'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/rnnlm'
make -C chain/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/chain'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/chain'
make -C nnet3bin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnet3bin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnet3bin'
make -C nnet2bin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/nnet2bin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/nnet2bin'
make -C kwsbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/kwsbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/kwsbin'
make -C ivector/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/ivector'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/ivector'
make -C ivectorbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/ivectorbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/ivectorbin'
make -C online2/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/online2'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/online2'
make -C online2bin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/online2bin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include  -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/online2bin'
make -C lmbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/lmbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/lmbin'
make -C chainbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/chainbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/chainbin'
make -C rnnlmbin/ depend
make[1]: Entering directory `/usr/local/soft/kaldi/src/rnnlmbin'
g++ -M -std=c++11 -I.. -I/usr/local/soft/kaldi/tools/openfst/include -Wno-sign-compare -Wall -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -DKALDI_DOUBLEPRECISION=0 -DHAVE_EXECINFO_H=1 -DHAVE_CXXABI_H -DHAVE_ATLAS -I/usr/local/soft/kaldi/tools/ATLAS_headers/include -msse -msse2 -pthread -g  *.cc > .depend.mk
make[1]: Leaving directory `/usr/local/soft/kaldi/src/rnnlmbin'
View Code

  9.編譯【src目錄下】

    執行make進行編譯【make中也會執行檢測腳本】

    

    編譯成功!

  10.測試

    

    

    這就表示安裝成功了!

    

三.分布式概述

  在執行示例腳本之前,我們先花費一點時間看一下Kaldi發行版中還包含哪些內容。進入kaldi目錄,有一些文件和子目錄。重要的子目錄是tools、src和egs,下面重點介紹tools和src。

  一.tools目錄

    

    目錄tools是我們以各種方式安裝Kaldi所依賴的組件的目錄。其中大多數是由make命令安裝的東西。在INSTALL文件中提供了有關如何安裝工具的說明。

    

    最重要的子目錄是OpenFst的子目錄。如果Kaldi安裝成功,將存在一個包含已安裝二進制文件的bin目錄和包含該庫的lib目錄。其中目錄include/fst/中包含了重要的代碼。如果想要深入了解Kaldi,則需要了解OpenFst【有興趣了解的前往:http://www.openfst.org/】。

    接下來將執行示例命令進行配置:

    1.進入bin目錄

    

    2.執行命令創建text.fst文件

    

    3.執行命令創建isyms.txt文件

    

    4.執行命令創建osyms.txt文件

    

    5.查看

    

    6.配置PATH路徑

    

    7.創建一個二進制格式的FST

    

    

    8.執行復制命令,所得的WFST,binary2.fst,其類似於binary.fst,但其權重是binary.fst的兩倍,如下:

    

    

  二.src目錄

    src目錄包含了一系列代碼的列表。其中包含Makefile的目標之一,test測試命令。該命令進入各個子目錄並在其中運行測試程序。所有的測試都應該成功。如果必要,可以運行make valgrind,這將使用內存檢查器運行相同的測試,並且會花費更多的時間,也會包很多錯誤。可以使用ctr+c停止運行。

    

    參照上面報錯日志的提示,執行配置腳本:./configure

    

     配置成功后執行測試程序make test

    

    這樣,基礎安裝配置就已經完成了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM