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