kaldi tidigits 示例中的 run.sh 错误,我做错了什么?

Error with run.sh in kaldi tidigits example, what am I doing wrong?

我只是第一次设置 Kaldi 并通过 tidigits 示例。但是对于 run.sh,我得到:

steps/make_mfcc.sh --cmd run.pl --mem 2G --nj 20 data/test exp/make_mfcc/test mfcc

utils/validate_data_dir.sh: Successfully validated data-directory data/test

steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.

run.pl: 20 / 20 failed, log is in exp/make_mfcc/test/make_mfcc_test.*.log

查看日志文件,我发现问题是:

bash: line 1: compute-mfcc-feats: command not found

bash: line 1: copy-feats: command not found

这似乎是一个 PATH 问题,在网上查看其他论坛似乎证实了这一点。但是我不确定如何解决 PATH 问题。我发现在步骤文件夹的 make_mfcc.sh 中调用了 compute-mfcc-feats 和 copy-feats 命令(假设是 wsj 示例的符号链接)。请帮忙!

可执行文件的路径在 Kaldi 配方中的 path.sh 脚本中配置了 KALDI_ROOT 变量,例如,在 tidigits 中它是 kaldi/egs/tidigits/s5/path.sh。指定的路径是相对的,因此您必须从 kaldi/egs/tidigits/s5 文件夹而不是其他文件夹发出 运行 命令。可能存在以下问题

  1. 你没有编译Kaldi,二进制文件不存在 kaldi/src/featbin
  2. 您从 kaldi 移动了训练文件夹并且 您没有更新 path.sh
  3. 中的 KALDI_ROOT 变量
  4. 您 运行 命令 run.sh 来自其他文件夹,而不是来自 kaldi/egs/tidigits/s5 个文件夹。

通常你只需要检查 path.sh 的内容并在那里指定正确的 kaldi root。