简体   繁体   中英

Kaldi error while running script prepare_lang.sh -- GenericRegister::GetEntry: No such file or directory

I am using Kaldi to train an acoustic model on my own dataset (following this tutorial by Eleanor Chodroff). I'm using Cygwin on Windows 10. When I run the script prepare_lang.sh that should create the files for /data/lang , it generates the following errors:

ERROR: GenericRegister::GetEntry: No such file or directory
ERROR: MutableFst::Read: Unknown FST type "vector" (arc type = "standard"): standard input

These files are not created: L.fst, L_disambig.fst, oov.int, oov.txt, topo

The complete output of the command is given below:

91767@LAPTOP-E2QH3TON /cygdrive/c/Users/91767/Desktop/kaldi/egs/mycorpus
$ utils/prepare_lang.sh data/local/lang oov data/local/ data/lang

utils/prepare_lang.sh data/local/lang oov data/local/ data/lang
Checking data/local/lang/silence_phones.txt ...
--> reading data/local/lang/silence_phones.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/lang/silence_phones.txt is OK

Checking data/local/lang/optional_silence.txt ...
--> reading data/local/lang/optional_silence.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/lang/optional_silence.txt is OK

Checking data/local/lang/nonsilence_phones.txt ...
--> reading data/local/lang/nonsilence_phones.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/lang/nonsilence_phones.txt is OK

Checking disjoint: silence_phones.txt, nonsilence_phones.txt
--> disjoint property is OK.

Checking data/local/lang/lexicon.txt
--> reading data/local/lang/lexicon.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/lang/lexicon.txt is OK

Checking data/local/lang/lexiconp.txt
--> reading data/local/lang/lexiconp.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/lang/lexiconp.txt is OK

Checking lexicon pair data/local/lang/lexicon.txt and data/local/lang/lexiconp.txt
--> lexicon pair data/local/lang/lexicon.txt and data/local/lang/lexiconp.txt match

Checking data/local/lang/extra_questions.txt ...
--> data/local/lang/extra_questions.txt is empty (this is OK)
--> SUCCESS [validating dictionary directory data/local/lang]

ERROR: GenericRegister::GetEntry: No such file or directory
ERROR: MutableFst::Read: Unknown FST type "vector" (arc type = "standard"): standard input

I have followed the standard Kaldi installation for Cygwin from the same tutorial , and kaldi/tools has the folder openfst-1.7.2 .

I have been googling this for a while, but can't seem to find a solution. I'm new to Kaldi and not sure about the source of the error, so I'll be happy to provide any other details that might be relevant. Could someone please help me out?

This is an old question and I'm not sure whether this would have solved the issue for OP, but I experienced the same error when trying to build Kaldi from commit 9af2c5c16 with OpenFST 1.7.2.

For whatever reason, using --enable-bin --enable-static --enable-shared=no does not statically link binaries (fstinfo etc), but also does not build the dynamic libraries necessary for those binaries to function. I needed to remove the --enable-shared=no switch.

On Windows, you may need to do even more work to ensure the dynamic libraries are actually loaded. Try calling fstinfo <your.fst> on its own to see if you get the same missing library error; if so, try copying the OpenFST.dll or.lib files (I don't know what exactly gets built on Windows) to the same directory you are calling fstinfo from.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM