kaldi安装
记录一下kaldi安装过程踩坑
安装步骤
1.进入tools文件目录,执行命令
extras/check_dependencies.sh
显示 all is ok 的话通过,否则按照提示操作
2.执行命令
make
这一步可能会出现 ERROR: cannot verify sourceforge.net's certificate 的错误,查到的原因大概是目标网站的安全证书没有应答。需要把Makefile里面的代码修改一下
在出错行的地方
在 -T 10 -t 1 http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-$(OPENFST_VERSION).tar.gz 后面加上 --no-check-certificate
再运行即可,可能需要重复执行这一步,因为需要添加--no-check-certificate可能不止一个
3.进入src目录,执行命令
./configure --shared
make depend -j 8
make -j 8
其中8是线程数,如果机器不支持8线程可以改小一点,出现Done说明安装完成,接下来就测试一下
5. 验证是否安装成功
进入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安装成功!
Kaldi目录介绍
进入Kaldi-master可以看到,./tools,./src和./egs这三个目录是比较重要的。
./src目录存放的是Kaldi的源代码。
./egs存放的是Kaldi提供的一些例子。
./tools目录下面全部都是Kaldi依赖的包。
参考:https://bbs.easyaiforum.cn/thread-1107-1-1.html
接下来尝试使用kaldi提取mfcc特征
进入egs/aishell/v1目录
编辑run.sh
#!/usr/bin/env bash
# aishell_test --wuhao 2020/7/9
data=/media/auto203/DATAPART1/wuhao/data
# 这一行我注释掉了,因为我之前已经下载过aishell这个数据集
# data_url=www.openslr.org/resources/33
. ./cmd.sh
. ./path.sh
set -e # exit on error
# 这两行代码是下载aishell数据集,我已经下载了这个数据集,所以下面两句注释掉
# local/download_and_untar.sh $data $data_url data_aishell
# local/download_and_untar.sh $data $data_url resource_aishell
# Data Preparation
# make_mfcc前的准备,大概是组织文件目录以及每个文件地址
local/aishell_data_prep.sh $data/data_aishell/wav $data/data_aishell/transcript
# Now make MFCC features.
# mfccdir should be some place with a largish disk where you
# want to store MFCC features.
# 新建一个文件夹来存储mfcc特征,注意这个盘应该要有足够的容量放下mfcc数据
mfccdir=/media/auto203/DATAPART1/wuhao/data/mfcc_of_aishell
for x in train test; do
steps/make_mfcc.sh --cmd "$train_cmd" --nj 10 data/$x exp/make_mfcc/$x $mfccdir
sid/compute_vad_decision.sh --nj 10 --cmd "$train_cmd" data/$x exp/make_mfcc/$x $mfccdir
utils/fix_data_dir.sh data/$x
done
遇到的问题:
1. /usr/bin/env: ‘bash\r’: No such file or directory
原因是脚本文件是在Windows环境下编写的,好像是因为在Ubuntu下执行会多了一个‘\r’,解决方法
用vim打开sh脚本文件 vim file_name.py 打开后输入
:set ff 然后回车 再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车
2.在执行steps/make_mfcc.sh时遇到错误
queue.pl: Error submitting jobs to queue (return status was 32512)
原因可以在cmd.sh中找到
# If you have no queueing system and want to run on a local machine, you
# can change all instances 'queue.pl' to run.pl (but be careful and run
# commands one by one: most recipes will exhaust the memory on your
# machine).
把cmd.sh中所有"queue.pl --mem 4G"或者"queue.pl "全部改为"run.pl"即可成功运行
注意:--nj 是指定线程数 num_job
下一篇: kaldi安装
推荐阅读