kaldi 安装
此前已经在ubuntu16.04下安装好cuda8.0,安装教程可以参考Ubuntu16.04+asus-z170+gtx1060搭建TensorFlow-GPU,其中记录了cuda8.0详细的安装过程。使用cuda可以利用GPU加速DNN声学模型的训练和解码速度。下面直接介绍Kaldi安装过程,主要分为:
- 环境配置
- 下载Kaldi安装包
- 编译Kaldi
- 运行测试
环境配置
首先确保kaldi编译过程中依赖de 工具包,首先更新源,然后键入以下命令:
$ sudo apt-get install autoconf automake libtool subversion libatlas-dev libatlas-base-dev zlib1g-dev gawk git gfortran gcc g++
最后两个编译器一般在安装Ubuntu的时候都已经安装好了,Ubuntu16.04默认的gcc版本是5以上,是可以编译通过Kaldi的依赖的工具包(ATLAS, OpenFst, SCTK and sph2pipe)。
下载Kaldi安装包
Kaldi官网上已经不提供最新的版本了,所以去github上下载kaldi-master压缩包,并在本地解压。或者直接键入一下命令:
$ git clone https://github.com/kaldi-asr/kaldi
kaldi下有这样三个重要的文件分别是src,tools,egs。src中包含了Kaldi所有源代码,包括feat(MFCC, PLP特征提取),GMM,nnet(DNN),HMM,decoder等等。tools中包含了Kaldi依赖的工具包,在没有编译之前则都是工具包的安装和编译脚本。egs中包含了各种著名的语料库的语音数据和运行脚本。
编译Kaldi
Kaldi每个文件中都有INATALL文件作为安装指南,严格按照上面写的步骤编译文件是不会出现问题的。
- 编译tools
首先进入tools文件夹,运行写好的脚本检查第一步环境是否配置齐全。
$ cd tools/
$ extras/check_dependencies.sh
如果出现下面这一行提示,就开始编译tools文件夹,否则按照它的提示安装必要的工具包。
extras/check_dependencies.sh: all OK.
编译过程中会自动下载、安装、编译ATLAS, OpenFst, SCTK and sph2pipe。
$ sudo make
ATLAS包含了线性代数库函数, OpenFst是有限状态自动机的工具包,sph2pipe用于转换音频文件格式。根据经验ATLAS, SCTK和sph2pipe都能安装成功,OpenFst大概率没真的安装上。可以先跳过这里的手动编译OpenFst,直接去编译src文件夹,在那里将检查是否成功安装OpenFst。如果没有安装没关系,tools文件夹下已经下载了OpenFst安装文件,手动编译就好,而且里面也有INSTALL安装教程。编译OpenFst具体如下:
$ cd openfst-1.6.2
$ ./configure
$ sudo make
$ sudo make install
所有的编译过程都挺慢的,如果机器多核,可以使用make -j 命令。
2. 编译src文件
键入以下命令检查一下依赖工具包是否都齐全,如果齐全则会如下图所示。