2016-11-29 413 views
0

我只是第一次建立了Kaldi,並通過了tidigits的例子。然而,隨着run.sh,我得到: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問題。我已經記下了compute-mfcc-feats和copy-feats命令在steps文件夾中的make_mfcc.sh中調用(應該是wsj示例的符號鏈接)。請幫忙!

+1

從你的問題中,我瞭解到在日誌文件中發現的問題是由'run.pl'製作的,我猜想它是一個** Perl **程序。你如何確定這個問題不是Perl相關的?請添加標籤'perl'並顯示** run.pl **程序的內容。從哪裏啓動缺少的命令'compute-mfcc-feats'和'copy-feats'? – Jdamian

回答

1

可執行程序的路徑配置爲KALDI_ROOT變量在Kaldi食譜中path.sh腳本里面的配方,例如,在tidigits裏面它是kaldi/egs/tidigits/s5/path.sh。指定的路徑是相對的,因此您必須從kaldi/egs/tidigits/s5文件夾運行命令,而不是從其他文件夾運行命令。可能有以下問題

  1. 你沒有編譯Kaldi和二進制不 kaldi/src目錄存在/ featbin
  2. 您從kaldi移動的培訓文件夾和 你沒有更新的KALDI_ROOT變量path.sh
  3. 從其他文件夾運行命令run.sh,而不是從 kaldi/egs/tidigits/s5文件夾運行。

通常你只需要檢查path.sh的內容並在那裏指定正確的卡爾迪根。

+0

是的,似乎Kaldi沒有在我的Mac上正確編譯。我使用的是Xcode 8.x,並發現我需要降級clang。現在,當運行/ src/make時,出現「make [1]:*** [chain-kernels.o] Error 2」的錯誤,但至少它向前邁進了一步。 – kashkar