kaldi下L.fst可视化fstprint失败,报错Bad FST header: ../lang/L.fst

在Xshell中可视化L.fst的时候报错,一直卡了很久,然后用命令行ll查看L.fst所在目录下文件信息发现L.fst为0KB,感觉找到了问题所在,说明啥,当然是说明L.fst没有生成成功,尽管生出来了这个文件,但是文件里面没有内容,于是乎回到/root/data/mys/data这个目录下重新执行生成L.fst的命令行:utils/prepare_lang.sh local/dict/ 'SIL' temp/01/ L/lang/,发现最后虽然出现了SUCCESS但是末尾仍然有报错,如下图:

kaldi下L.fst可视化fstprint失败,报错Bad FST header: ../lang/L.fst_第1张图片

发现在使用prepare_lang的时候出现了:

utils/prepare_lang.sh:line 468:fstarcsort:command not found

utils/prepare_lang.sh:line 466:fstcompile:command not found

问题的根源就是在这,后来意识到编译完kaldi之后我没有执行path.sh这个文件,于是我从kaild的源代码的egs/wsj/s5中copy了path.sh并放到了我自己的utils文件夹中,然后vim path.sh,修改了第一行为我的根目录,如下图:

kaldi下L.fst可视化fstprint失败,报错Bad FST header: ../lang/L.fst_第2张图片之后,我在我的utils目录下使用了命令行 . path.sh

最后重新回到/root/data/mys/data这个目录下重新执行生成L.fst的命令行:utils/prepare_lang.sh local/dict/ 'SIL' temp/01/ L/lang/

效果截然不同,报错没有了,也生成了完整的L.fst文件,之后可视化也正常进行了,如下图:

kaldi下L.fst可视化fstprint失败,报错Bad FST header: ../lang/L.fst_第3张图片

总结:fstprint可视化失败因为L.fst没有正确生成,L.fst没有能够正确生成因为编译完kaildi之后没有在Xshell新打开的一个链接中执行修改完根目录的path.sh文件,所以每次开一个链接的时候,建议执行一下path.sh,这样就应该不会出现问题了。

 

【注:本文为原创,转载请注明出处,谢谢】

你可能感兴趣的:(Kaldi学习,语音识别,人工智能,自然语言处理,xshel,centos)