Kaldi是基于C++开发并遵守Apache License v2.0的一款语音识别工具包,是目前最流行的ASR工具之一,本文基于Ubuntu 18.04 LTS介绍了如何安装Kaldi。

首先按照官网提示,将Kaldi项目克隆至本地:

~$ git clone https://github.com/kaldi-asr/kaldi.git kaldi-trunk --origin golden

进入kaldi-trunk:

~$ cd kaldi-trunk
~/kaldi-trunk$

查看INSTALL:

~/kaldi-trunk$ cat INSTALL
This is the official Kaldi INSTALL. Look also at INSTALL.md for the git mirror installation.
[for native Windows install, see windows/INSTALL] (1)
go to tools/ and follow INSTALL instructions there. (2)
go to src/ and follow INSTALL instructions there.

所以先进入tools目录按提示安装,再进入src目录按提示安装。

进入tools目录查看INSTALL:

~/kaldi-trunk$ cd tools
~/kaldi-trunk/tools$ cat INSTALL
To check the prerequisites for Kaldi, first run extras/check_dependencies.sh and see if there are any system-level installations you need to do. Check the
output carefully. There are some things that will make your life a lot easier
if you fix them at this stage. If your system default C++ compiler is not
supported, you can do the check with another compiler by setting the CXX
environment variable, e.g. CXX=g++-4.8 extras/check_dependencies.sh Then run make which by default will install ATLAS headers, OpenFst, SCTK and sph2pipe.
OpenFst requires a relatively recent C++ compiler with C++11 support, e.g.
g++ >= 4.7, Apple clang >= 5.0 or LLVM clang >= 3.3. If your system default
compiler does not have adequate support for C++11, you can specify a C++11
compliant compiler as a command argument, e.g. make CXX=g++-4.8 If you have multiple CPUs and want to speed things up, you can do a parallel
build by supplying the "-j" option to make, e.g. to use 4 CPUs make -j 4 In extras/, there are also various scripts to install extra bits and pieces that
are used by individual example scripts. If an example script needs you to run
one of those scripts, it will tell you what to do.

所以首先需要进入extras目录运行脚本check_dependencies.sh来检查各种依赖是否安装。

进入extras并运行check_dependencies.sh:

~/kaldi-trunk/tools$ cd extras/
~/kaldi-trunk/tools/extras$ ./check_dependencies.sh
./check_dependencies.sh: all OK.

运行check_dependencies.sh后出现任何提示表明某些库未安装,都应按照提示解决,直到运行check_dependencies.sh后出现如上所示”./check_dependencies.sh: all OK.”。

然后进入上一级,进行编译:

~/kaldi-trunk/tools/extras$ cd ..
~/kaldi-trunk/tools$ make

如果是在虚拟机上,建议使用make而非make -j 4,否则很容易内存不够导致编译失败,之后在src目录下的编译也一样。

make完成后可能会提示irstlm未安装,此时不用管,先继续完成整个kaldi的安装再说。

进入src目录并查看INSTALL:

~/kaldi-trunk/tools$ cd ../src
~/kaldi-trunk/src$ cat INSTALL These instructions are valid for UNIX-like systems (these steps have
been run on various Linux distributions; Darwin; Cygwin). For native Windows
compilation, see ../windows/INSTALL. You must first have completed the installation steps in ../tools/INSTALL
(compiling OpenFst; getting ATLAS and CLAPACK headers). The installation instructions are ./configure --shared
make depend -j 8
make -j 8 Note that we added the "-j 8" to run in parallel because "make" takes a long
time. 8 jobs might be too many for a laptop or small desktop machine with not
many cores. For more information, see documentation at http://kaldi-asr.org/doc/
and click on "The build process (how Kaldi is compiled)".

运行configure且不要添加参数”– –shared”:

~/kaldi-trunk/src$ ./configure
Configuring ...
Backing up kaldi.mk to kaldi.mk.bak ...
Checking compiler g++ ...
Checking OpenFst library in /home/zillyrex/kaldi-trunk/tools/openfst ...
Doing OS specific configurations ...
On Linux: Checking for linear algebra header files ...
Using ATLAS as the linear algebra library.
Atlas found in /usr/lib/x86_64-linux-gnu
Validating presence of ATLAS libs in /usr/lib/x86_64-linux-gnu
Using library /usr/lib/x86_64-linux-gnu/liblapack.so as ATLAS's CLAPACK library.
CUDA will not be used! If you have already installed cuda drivers
and cuda toolkit, try using --cudatk-dir=... option. Note: this is
only relevant for neural net experiments
Info: configuring Kaldi not to link with Speex (don't worry, it's only needed if you
intend to use 'compress-uncompress-speex', which is very unlikely)
Successfully configured for Linux [dynamic libraries] with ATLASLIBS =/usr/lib/x86_64-linux-gnu/liblapack.so /usr/lib/x86_64-linux-gnu/libcblas.so /usr/lib/x86_64-linux-gnu/libatlas.so /usr/lib/x86_64-linux-gnu/libf77blas.so
SUCCESS
To compile: make clean -j; make depend -j; make -j
... or e.g. -j 10, instead of -j, to use a specified number of CPUs

务必仔细阅读运行configure后显示的提示,它可能和上文所示的内容有所区别,其中提醒了你有哪些东西没安装好,并给出了指导,遵循那些执导完成相关依赖的安装,直到运行configure后出现如上文所示的提示,提示的最后显示”SUCCESS To compile: ……”,此时才能进行后面的步骤,否则长时间的make后会报错。

执行最后的步骤,编译kaldi的源码:

~/kaldi-trunk/src$ make depend
...
...
~/kaldi-trunk/src$ make
...
...
...
Done

make的时间较长,大约半个小时到一个小时,如果编译过程中未出现红色的error,最后出现”Done”,表明编译成功。

最后运行一个例程来检验安装是否成功,运行egs/yesno/s5目录下的run.sh:

~/kaldi-trunk/src$ cd ../egs/yesno/s5/
~/kaldi-trunk/egs/yesno/s5$ ./run.sh
Preparing train and test data
Dictionary preparation succeeded
utils/prepare_lang.sh --position-dependent-phones false data/local/dict <SIL> data/local/lang data/lang
Checking data/local/dict/silence_phones.txt ...
--> reading data/local/dict/silence_phones.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/dict/silence_phones.txt is OK
...
...
...
local/score.sh: scoring with word insertion penalty=0.0,0.5,1.0
%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0

出现如上结果,表明kaldi安装成功。

Kaldi安装的更多相关文章

  1. Kaldi 安装

    以后要重点搞caldi了,虽然集群上有,但还是本地安装一下吧. 参考   Kaldi 学习手记(一):Kaldi 的编译安装   在 ubuntu 下安装 kaldi 基本步骤 两个文章基本差不多 1 ...

  2. 虚拟机Ubuntu系统下kaldi安装与编译简介

    kaldi官网:http://www.kaldi-asr.org/doc/index.html 在http://github.com/kaldi-asr/kaldi中直接下载kaldi的zip包,没有 ...

  3. Ubuntu下kaldi安装

    该文章为博主原创,如若转载请注明出处:https://www.cnblogs.com/fengleixue/p/9482202.html 因公司业务需要需使用kaldi语音识别工具,现将kaldi环境 ...

  4. 安装python各类工具包、IDE以及著名开源模块如kaldi等的简单总结

    在学习一门语言或者使用一个著名的开源工具时,搭建环境是非常重要的一步,在环境搭建的过程中往往要踩很多坑.昨天一不小心把电脑操作系统整坏了,搞了个通宵算是搞定了,把win10系统重装回win7,但之前搭 ...

  5. 音频工具kaldi部署及模型制作调研学习

    语音识别简介 语音识别(speech recognition)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR).计算机语音识别(英语:Comput ...

  6. kaildi讲解

    转载声明:本文为转载文章 作者:ferb2015 原文地址:https://blog.csdn.net/eqiang8848/article/details/81543599 kaldi是一个开源的语 ...

  7. 在ubuntu下安装kaldi基本步骤

    注:最近在学习kaldi语音识别工具,在安装过程中遇到了许多问题,在此记录,以备后需. 在一开始,我看了这篇博客(http://blog.topspeedsnail.com/archives/1001 ...

  8. kaldi简介及安装

    操作系统 : Ubuntu18.04_x64 gcc版本 :7.4.0 简介 Kaldi诞生于2009年的JohnsHopkins University,刚开始项目重点是子空间高斯模型(SGMM)建模 ...

  9. Kaldi学习手记(一):Kaldi的编译安装

    下载 安装git sudo apt-get install git 下载Kaldi git clone https://github.com/kaldi-asr/kaldi.git kaldi-tru ...

随机推荐

  1. Sliding Window Median

    Description Given an array of n integer, and a moving window(size k), move the window at each iterat ...

  2. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  3. vcenter监控

    在vcenter上配置好用户名密码和url即可使用自动发现自动发现vmware

  4. luoguP3964 [TJOI2013]松鼠聚会

    链接 luogu 思路 切比雪夫距离有max,不好优化. 但是我们能转化成曼哈顿距离,只需要 \((x,y)变成(\frac{x+y}{2},\frac{x-y}{2})\) 相反的曼哈顿距离转切比雪 ...

  5. uni-app 获取网络状态

    uni.getNetworkType(OBJECT) 获取网络类型. OBJECT 参数说明 参数名 类型 必填 说明 success Function 是 接口调用成功,返回网络类型 network ...

  6. 关于windows使用git警告LF will be replaced by CRLF

    由于windows平台的换行符是CRLF,但是我们引用别人的类库可能是在unix平台开发的,那么代码中的换行符是LF,而git默认会做这个转换,所以在用git提交这些代码时会有警告:LF will b ...

  7. windows内核代码之进程操作

    [toc] 一丶简介 整理一下windows内核中.常用的代码.这里只整理下进程的相关代码. 二丶 windows内核之遍历进程 内核中记录进程的结构体是EPROCESS结构.所以只需要遍历这个结构即 ...

  8. 启动uiautomatorview 提示无法初始化主类

    启动uiautomatorview 提示无法初始化主类, 重新安装jdk到1.8版本就好了,就是这么神奇.

  9. Spring Transaction 使用入门

    一.开篇陈述 1.1 写文缘由 最近在系统学习spring框架IoC.AOP.Transaction相关的知识点,准备写三篇随笔记录学习过程中的感悟.这是第一篇,记录spring Transactio ...

  10. java并发编程(八) CAS & Unsafe & atomic

    参考文档:https://www.cnblogs.com/xrq730/p/4976007.html CAS(Compare and Swap) 一个CAS方法包含三个参数CAS(V,E,N).V表示 ...