我正在尝试在远程服务器上运行kaldi TIMIT / s5配方。该工具包已在服务器中安装并编译。安装和编译该工具包的原始路径是“只读”目录,在该目录中我没有“ sudo”访问权限,无法在那里修改任何内容。为了运行脚本,我已经将TIMIT配方的目录复制到了我的本地位置。我已将KALDI_ROOT(在“ path.sh”中)更改为安装Kaldi工具包的原始目录。当我尝试运行脚本“ run.sh”时,出现以下错误:
wav-to-duration: error while loading shared libraries: libkaldi-hmm.so: cannot open shared object file: No such file or directory
然后,我将以下行添加到“ path.sh”文件的末尾:
export LD_LIBRARY_PATH="$KALDI_ROOT/src/lib"
但是,然后出现以下错误:
wav-to-duration: error while loading shared libraries: libfst.so.10: cannot open shared object file: No such file or directory
对于如何修改“ path.sh”文件是否有任何建议,以便可以在本地目录上运行Kaldi配方?
感谢所有答案
答案 0 :(得分:1)
我已经解决了问题。该错误是由于错误的方式设置了Kaldi库的根目录。此外,我需要明确指出库GCC.8.2.0。根目录在timit / s5配方文件夹中的“ path.sh”脚本中链接。在这里,我共享path.sh文件的修改后的版本,该文件可以成功运行整个run.sh脚本。请注意,LIBRARY_PATH文件应指向共享库的本地目录和“ openfst”库的目录(有限状态换能器解码包)。
export KALDI_ROOT=/import/linux/kaldi
[ -f $KALDI_ROOT/tools/env.sh ] && . $KALDI_ROOT/tools/env.sh
export PATH=$KALDI_ROOT/egs/timit/s5/utils/:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/irstlm/bin/:$PWD:$PATH
[ ! -f $KALDI_ROOT/tools/config/common_path.sh ] && echo >&2 "The standard
file $KALDI_ROOT/tools/config/common_path.sh is not present -> Exit!" && exit 1
. $KALDI_ROOT/tools/config/common_path.sh
PATH=$PATH:$KALDI_ROOT/tools/openfst
PATH=$PATH:$KALDI_ROOT/src/featbin
PATH=$PATH:$KALDI_ROOT/src/gmmbin
PATH=$PATH:$KALDI_ROOT/src/bin
PATH=$PATH:$KALDI_ROOT//src/nnetbin
export PATH
export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/$KALDI_ROOT/src/lib:$KALDI_ROOT/tools/openfst-1.6.7/lib