语音识别课前准备-kaldi安装流程

运行环境VMware+Ubuntu20.04

  • 前言
    • 第一步,安装VMware及Ubuntu**。
    • 第二步,下载kaldi。
    • 第三步,进入tools,安装依赖工具并执行编译**。
    • 第四步,编译src。
    • 第五步,跑一个小程序-yesno例子。

前言

  进行语音识别学习课前的准备是Kaldi的安装,但是没想到在这个过程中,自己遇到了各种各样棘手问题。在经过数次的尝试后,自己终于成功了。于是写下这篇文章供大家解决安装中出现的各种问题。

第一步,安装VMware及Ubuntu**。

  在安装Ubuntu这里,我必须要提一句,因为Kaldi解压后至少有26G,所以你为Ubuntu分配空间的时候,至少要分配40G+才可以。其次就是运行内存,最起码要4G,不要问我为什么,如果你分配的运行内存不够4G,那么你在进行tools的make时,你将发现,即使你安装完所有必须的依赖工具,但你也会一直无法成功,反正就是挺奇怪的。这两点一定要注意,因为这两点是前提。

第二步,下载kaldi。

  这里有两种方式。第一种就是你在Windows系统去Github上把代码打包下载下来,然后拖到Ubuntu里,在Ubuntu里再解压。链接是 https://github.com/kaldi-asr/kaldi.git。下载完成后的压缩包如图所示:语音识别课前准备-kaldi安装流程_第1张图片

  第二种是你在Ubuntu里用sudo apt-get install git命令安装git,安装git后再执行sudo git clone https://github.com/kaldi-asr/kaldi.git来下载。
  这里提醒,不管你采用哪种方式下载,建议将kaldi文件夹放在根目录下,即/kaldi,这有利于后面的操作。如图所示:语音识别课前准备-kaldi安装流程_第2张图片

第三步,进入tools,安装依赖工具并执行编译**。

   依次执行如下命令 cd kaldi , cd tools , extras/check_dependencies.sh 。 这时系统会提示你缺少那些依赖工具,我们根据提示安装即可。注意:这里建议切换到root模式下(sudo su)进行安装,因为这样可以避免mkdir权限不够无法创建目录的问题
   除此之外,这里还有两个要提的点,第一个是未安装MKL,执行命令extras/install_mkl.sh即可。第二个是当我们根据提示安装完依赖工具后,再进行检查时,有可能会出现python2.7 is installed, but the python2 binary does not exist. Creating a symlink and adding this to tools/env.sh这句提示语,我们忽略即可不影响后续安装。

   当extras/check_dependencies.sh提示all OK时。我们就可以进行tools的编译了。也就是这里,我来来回回失败了N次。只要第一步我们做到了,那么此时出现问题的概率就是非常小的。接下来我们运行命令,sudo make -j N(这里的N是一个数字,要小于你处理器的数量,例如我给我的UBuntu分配的处理器是2,那我的N<=2,也就是可以填2或者1)注意,这个make的过程十分漫长,需要等待。在这一步可能会出现的错误如下列代码所示:

make[3]: *** [determinize.lo] Error 1
make[3]: Leaving directory '/home/abcd/botao/test/kaldi/tools/openfst-1.7.2/src/script'
Makefile:358: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/home/abcd/botao/test/kaldi/tools/openfst-1.7.2/src'
Makefile:414: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/home/abcd/botao/test/kaldi/tools/openfst-1.7.2'
Makefile:63: recipe for target 'openfst_compiled' failed

   仔细检查,如果做到了第一步,还是出现这个错误,那就可能是网络问题,将/tools文件夹中的openfst1.7.2.tar.gz这个压缩包,以及解压出的文件夹openfst1.7.2全部删掉。对tools重新make即可。
  当执行make后没报错,就说明我们tools编译成功了。

第四步,编译src。

   一般情况下只要第三步tools编译成功,第四步src的编译就不会出错,不过同样编译的过程也很漫长。
  进入/kaldi/src , 先执行sudo ./configure --shared,再执行sudo make depend -j,最后执行sudo make -j 1只要最后出现Done。就说明我们的src也编译成功了。

第五步,跑一个小程序-yesno例子。

执行下列命令
cd /kaldi/egs/yesno/s5
sudo ./run.sh
运行成功的话会如图所示:
运行成功的样子
  但是一开始我并没有运行成功,尽管我tools和src都编译成功了。系统提示拒绝连接,出现这种情况也很简单,我们可以直接把waves_yesno.tar.gz下载下来放到s5下面,然后修改run.sh的内容。把wget那一行注释掉保存就可以了。如图所示:注释掉这一行
  修改完成后再运行sudo ./run.sh即可。

你可能感兴趣的:(语音识别学习,ubuntu,语音识别)