Kaldi下运行TIMIT实例需要对run.sh进行修改的部分(不包括DNN部分)

这两天试了一下使用kaldi-trunk/egs/timit/s5下的run.sh对timit corpus从提取特征开始的整个过程。

run.sh这个文件里面已经把所有的过程都包含在里面,从提取特征到training到decoding到evaluation。

所以需要改动的地方并不多,这里把我在一步一步执行中需要改动的部分以及遇到的问题列举一下。


Line30-32  改成你机器上CPU的数量

feats_nj=8
train_nj=8
decode_nj=5


Line39 改成你的TIMIT文件夹所在的绝对路径,这里需要注意,是绝对路径而不是相对路径

timit=$KALDI_ROOT/egs/timit/TIMIT


Line76  

steps/decode.sh --nj "$decode_nj" --cmd "$decode_cmd" \
 exp/mono/graph data/dev exp/mono/decode_dev

我在执行这一步的时候报错了,大致是cannot find scoring program at  ...tools/sctk/bin/hubscr.pl

我去找了一下kaldi-trunk/tools下面有一个sctk-2.4.9文件夹,但里面的bin目录是空的,所以需要重新编译一下这个sctk。

在tools目录下面的INSTALL文件中的Line161-169说明了如何build这个sctk工具,只需按步骤进行:

1. cd sctk-2.4.0
2. for x in src/asclite/core/recording.{h,cpp}; do # Fix a compilation error that can occur with newer compiler versions.
    sed 's/Filter::Filter/::Filter/' $x > tmpf; mv tmpf $x;
    done
3. make config
4. make all
5. make check
6. make install
7. make doc

在执行make all命令的时候报错,这个时候你可以去看INSTALL文件的Line143,这里告诉了你如果遇到了关于strncasecmp的bug应该如何解决:
找到sctk-2.4.9/src/rfilter下的makefile文件,将Line14改为   OPTIONS=    就可以了。

另外可能会有疑问为什么这里的文件夹名为sctk-2.4.9,但是直接使用sctk这个名字也可以找到,那是因为在tools文件目录下有一个名为sctk的系统文件,并将之与sctk-2.4.9link起来了。


在之后的步骤里一切都比较顺利,没有出现error,但有出现过warning,这些warning都存在log文件中,我遇到的warning包括:

HCLG not stochastic

WARNING (gmm-align-compiled:main():gmm-align-compiled.cc:143) Retrying utterance FAEM0_SX222 with beam 24

WARNING (gmm-acc-stats-ali:main():gmm-acc-stats-ali.cc:79) No alignment for utterance FHXS0_SI2302

第一个warning不知道具体含义是什么,但是问人说没有影响

第二个retrying据说是因为这句话在进行强制对齐时对齐效果不好所以调整参数重新retry

第三个是调整之后还是对齐不好所以就把这句话给淘汰了

但是对后面的操作都没有什么影响,所以就先忽略了


DNN部分没有做,因为没有装GPU和CUDA

最后result是这个样子的:


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误提示说明 Kaldi 配置时无法找到 MKL(Intel Math Kernel Library)的安装路径。MKL 是一种高性能数学库,可用于加速线性代数和傅里叶变换等计算。如果您想使用 MKL 库,您需要先在您的系统中安装它。 您可以按照以下步骤安装 MKL 库: 1. 下载 Intel MKL 库,可以在 Intel 官网上下载,也可以从其他渠道下载。下载时需要选择与您的系统相应的版本。 2. 解压下载后的文件,并进入解压后的文件夹。 3. 运行 `./install.sh` 脚本,按照提示进行安装。在安装过程中,您需要选择适合您的编译器和系统的选项。如果您安装的是 Kaldi 5.5 以上版本,建议您选择 `gcc` 编译器,因为该版本中默认使用 `gcc` 编译器。 4. 安装完成后,您需要将 MKL 库的路径添加到环境变量中。您可以在 `.bashrc` 文件中添加以下语句: ``` export LD_LIBRARY_PATH=<mkl-install-path>/lib:$LD_LIBRARY_PATH ``` 其中 `<mkl-install-path>` 是您安装 MKL 库的路径。 5. 重新打开终端或者运行 `source ~/.bashrc` 命令,使环境变量生效。 6. 重新运行 Kaldi 配置脚本,并添加 `--mkl-root=<mkl-install-path>` 选项,其中 `<mkl-install-path>` 是您安装 MKL 库的路径。如果 MKL 库的安装路径与 Kaldi 配置脚本的默认路径不同,您也可以使用 `--mkl-libdir=<mkl-library-path>` 选项指定 MKL 库的路径。 ``` ./configure --mkl-root=<mkl-install-path> ``` 如果您不想使用 MKL 库,也可以尝试使用其他数学库,比如 OpenBLAS。您可以使用 `--mathlib=OPENBLAS` 选项来指定使用 OpenBLAS 库,但是请注意,使用 OpenBLAS 库计算速度可能会比 MKL 库慢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值