语音识别——kaldi安装与编译

1、安装

下载源代码:

git clone https://github.com/kaldi-asr/kaldi.git

各目录功能:

./tools目录下面全部都是Kaldi依赖的包。其中主要有:

  1. OpenFST:Weighted Finite State Transducer library,是一个用来构造有限状态自动机的库。我们知道隐马尔科夫模型就可以看成是一个有限状态自动机的。这是最终要的一个包,Kaldi的文档里面说:If you ever want to understand Kaldi deeply you will need to understand OpenFst.
  2. ATLAS:这是一个C++下的线性代数库。做机器学习自然是需要很多矩阵运算的。
  3. IRSTLM:这是一个统计语言模型的工具包。
  4. sph2pipe:这是宾夕法尼亚大学linguistic data consortium(LDC)开发的一款处理SPHERE_formatted数字音频文件的软件,它可以将LDC的sph格式的文件转换成其它格式。

./src目录存放的是Kaldi的源代码。

./egs存放的是Kaldi提供的一些例子。我们现在要做的就是编译安装Kaldi依赖的各种库,然后编译安装Kaldi。
 

2、编译

进入 tools/ 查看INSTALL 信息

执行:

 extras/check_dependencies.sh

查看包依赖,并按照提示安装缺失的包

当出现:extras/check_dependencies.sh: all OK. 表示成功安装


返回到tools目录,查看cpu核心数目:

nproc --all  (我的为12)

执行:

make -j 12

出现:All done OK. 表示成功安装。


进入 src目录 查看install 安装说明,根据安装说明执行以下步骤:

执行:

 ./configure --shared
 make depend -j 12
 make -j 12

出现SUCCESS表示安装成功

3、常见错误

出现:

 
Could not find {libatlas,libsatlas}.so in any of the obvious places, will most likely try static:
Could not find libatlas.a in any of the generic-Linux places, but we'll try other stuff...

** Failed to configure ATLAS libraries ***
**  ERROR   **
** Configure cannot proceed automatically.
**  If you know that you have ATLAS installed somewhere on your machine, you
** may be able to proceed by replacing [somewhere] in kaldi.mk with a directory.
**  If you have sudo (root) access you could install the ATLAS package on your
** machine, e.g. 'sudo apt-get install libatlas-dev libatlas-base-dev' or
** 'sudo yum install atlas.x86_64' or 'sudo zypper install libatlas3-devel',
** or on cygwin, install atlas from the installer GUI; and then run ./configure
** again.
**
**  Otherwise (or if you prefer OpenBLAS for speed), you could go the OpenBLAS
** route: cd to ../tools, type 'extras/install_openblas.sh', cd back to here,
** and type './configure  --openblas-root=../tools/OpenBLAS/install'

执行:

sudo apt-get install libatlas-base-dev

4、测试

  • 进入egs目录,用命令 cat README.txt 查看用例,egs下面包含如voxforge,vystadial_{cz,en},yesno和LDC用例
  • 这里用yesno为例
  • 进入egs/yesno目录,用命令cat README.txt 查看yesno数据集介绍,是一个关于Yes/no识别的简单的数据集
  • 进入egs/yesno/s5目录,执行 ./run.sh 脚本
  • 出现%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0时,恭喜你,Kaldi安装成功!

参考:

https://blog.csdn.net/xie1xiao1jun/article/details/80667026

你可能感兴趣的:(语音识别,kaldi安装)