1.github上下载源码:https://github.com/kaldi-asr/kaldi
2.源码进行编译
gcc=7.5 太高太低可能会编译不过去(5.xx<gcc<8.xx)cuda版本10.2
2.1编译之前有许多依赖包需要进行安装
cd tools
依赖检查,执行./extras/check_dependencies.sh下载需要安装的依赖包
离线环境需要手动下载,并将依赖包放到tools目录下
所有依赖包都按check_dependencies.sh指定的版本进行安装,不同版本差异很大,可能导致后面的编译步骤出现问题(踩过坑)
2.1.1mkl安装:
安装包地址:https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
下载linux-offline版本,大概1G左右,安装时需要保证有足够的空间(至少7.5G),不然无法安装
下载完安装:./l_onemkl_p_2022.0.2.136_offline.sh
2.1.1 cub-1.8.0安装:https://github.com/NVIDIA/cub/releases/tag/1.8.0
2.1.2 openfst-1.7.2安装
2.1.3 sctk-20159b5.tar.gz安装
2.1.4 sph2pipe-2.5.tar.gz安装
2.2 编译
cd src
2.2.1.配置
./configure
如果出现openfst和cub编译错误,可能是根路径没找到,修改configure的根路径如下:
export FSTROOT=/data1/xx/kaldi-master/tools/openfst-1.7.2
export CUBROOT=/data1/xx/kaldi-master/tools/cub-1.8.0
2.2.2配置好后进行编译
make -j
可能出现问题:libcublas.so库找不到
执行locate libcublas.so找到cuda下面的路径
ln -s /usr/local/cuda/lib64/libcudart.so /usr/lib/libcudart.so
编译的编译器版本问题:
makefiles/linux_x86_64_mkl.mk文件默认指定c++14版本编译器(更高或更低都会出问题)
./configure配置后会生成kaldi.mk编译配置,所有变量都有值才表示配置没有问题
编译完出现Done,表示编译成功
3. 环境变量配置
配置kaldi地址
vim ~/.bashrc
增加下面配置
export KALDI_ROOT=/home/dir/kaldi
export KALDI_DIR=/home/dir/kaldi
export PATH=$PATH:./:$KALDI_DIR/src/bin:$KALDI_DIR/src/lmbin:$KALDI_DIR/src/fstbin:$KALDI_DIR/src/gmmbin:$KAL
参考链接:https://blog.csdn.net/qq_40168949/article/details/89372686
https://blog.csdn.net/sinat_35821976/article/details/120477535