前言
进行语音识别学习课前的准备是Kaldi的安装,但是没想到在这个过程中,自己遇到了各种各样棘手问题。在经过数次的尝试后,自己终于成功了。于是写下这篇文章供大家解决安装中出现的各种问题。
第一步,安装VMware及Ubuntu**。
在安装Ubuntu这里,我必须要提一句,因为Kaldi解压后至少有26G,所以你为Ubuntu分配空间的时候,至少要分配40G+才可以。其次就是运行内存,最起码要4G,不要问我为什么,如果你分配的运行内存不够4G,那么你在进行tools的make时,你将发现,即使你安装完所有必须的依赖工具,但你也会一直无法成功,反正就是挺奇怪的。这两点一定要注意,因为这两点是前提。
第二步,下载kaldi。
这里有两种方式。第一种就是你在Windows系统去Github上把代码打包下载下来,然后拖到Ubuntu里,在Ubuntu里再解压。链接是 https://github.com/kaldi-asr/kaldi.git。下载完成后的压缩包如图所示:
第二种是你在Ubuntu里用sudo apt-get install git命令安装git,安装git后再执行sudo git clone https://github.com/kaldi-asr/kaldi.git来下载。
这里提醒,不管你采用哪种方式下载,建议将kaldi文件夹放在根目录下,即/kaldi,这有利于后面的操作。如图所示:
第三步,进入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也编译成功了。文章来源:https://www.toymoban.com/news/detail-627671.html
第五步,跑一个小程序-yesno例子。
执行下列命令
cd /kaldi/egs/yesno/s5
sudo ./run.sh
运行成功的话会如图所示:
但是一开始我并没有运行成功,尽管我tools和src都编译成功了。系统提示拒绝连接,出现这种情况也很简单,我们可以直接把waves_yesno.tar.gz下载下来放到s5下面,然后修改run.sh的内容。把wget那一行注释掉保存就可以了。如图所示:
修改完成后再运行sudo ./run.sh即可。文章来源地址https://www.toymoban.com/news/detail-627671.html
到了这里,关于语音识别课前准备-kaldi安装流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!