centos7 安装测试kaldi模型
1、安装git
yum install -y git
2、拉取kal源码
git clone https://gitee.com/wangbaochao/kaldi.git kaldi-trunk --origin golden
------------------
安装kaldi
------------------
3、 切换到toos目录
cd kaldi-trunk/tools/
检查依赖的软件 运行此命令可以检查在安装Kaldi 之前系统缺少什么依赖
根据提示进行安装 ,特别是再安装python3的时候不要安装最新版
本人亲自尝试了安装的3.7.1的python版本不行
安装3.6.3的版本可以 在进行安装依赖的时候python3 放到最后安装
不能使用yum 安装 安装流程如下
extras/check_dependencies.sh
根据指示安装缺失的包,直到看到:
extras/check_dependencies.sh: all OK.
下载完毕以后,cd kaldi-trunk进去看看下载了一些什么东西。
其中,tools,src和egs这三个目录是比较重要。
tools目录下面全部都是Kaldi依赖的包。
OpenFST:Weighted Finite State Transducer library,是一个用来构造有限状态自动机的库。我们知道隐马尔科夫模型就可以看成是一个有限状态自动机的。这是最终要的一个包,Kaldi的文档里面说:If you ever want to understand Kaldi deeply you will need to understand OpenFst.诶,要学的好多。
ATLAS:这是一个C++下的线性代数库。做机器学习自然是需要很多矩阵运算的。
IRSTLM:这是一个统计语言模型的工具包。
sph2pipe:这是宾夕法尼亚大学linguistic data consortium(LDC)开发的一款处理SPHERE_formatted数字音频文件的软件,它可以将LDC的sph格式的文件转换成其它格式。
src目录存放的是Kaldi的源代码。egs存放的是Kaldi提供的一些例子。我们现在要做的就是编译安装Kaldi依赖的各种库,然后编译安装Kaldi
安装kaldi需要依赖automake autoconf libtool g++ zlib libatal wget
需要依次安装
-----------
yum install gcc-c++
yum install patch
yum install automake
yum install autoconf
yum install zlib zlib-devel
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
——————
4、安装python3
切换到opt目录下 使用命令
cd /opt/
wget "https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz"
tar -zxvf Python-3.6.3.tgz
cd Python-3.6.3
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3
make
make install
cd /usr/bin/
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
再tools目录下输入make进行安装:输了make命令 如果电脑是多核的 可以输入 make -j n 其中 n 带边CPU核数
make -j 4(虚拟机不要指定)
容易出问题的压缩包地址
https://www.openslr.org/resources/4/sctk-2.4.10-20151007-1312Z.tar.bz2
http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.7.tar.gz
完成之后切换到src目录:
cd ../src
./configure
报错
---------------------
[[email protected] src]# ./configure
Configuring KALDI to use MKL.
Checking compiler g++ ...
Checking OpenFst library in ...
***configure failed: Could not find file /include/fst/fst.h:
you may not have installed OpenFst. See ../tools/INSTALL ***
----------有可能是make出问题(压缩包下载问题,删除重新下载即可)-----------
make -j 4
如果没有出错 则安装成功
检测 Kaldi 是否编译成功,使用kaldi-tian/egs/yesno
例子进行测试
yesno是关于yes和no两个孤立词的识别
在终端键入cd kaldi-tian/egs/yesno/s5
进入yesno样例目录
键入ls
命令查看该目录下有哪些文件
conf文件夹里是一些配置文件例如MFCC的参数 HMM的拓扑结构;
local文件夹里主要是一些准备数据的脚本,供顶层脚本run.sh调用;
steps和utils文件夹里主要是一些运行时调用的脚本;
data文件夹里主要存放语言模型、发音字典和音素信息等等。
键入./run.sh