1、UNDERSTANDING HTK ERROR MESSAGESUNDERSTANDING HTK ERROR MESSAGES各种HTK错误消息的意义Various problems & solutions Ive come across in using HTK for building a WSJ recognizer and for my dissertation work in Language Modeling. If youre here to find answers for your own project, consider posting your problems &
2、solutions on your own website, for others to learn from, too. PROBLEMSOLUTIONHLEd -d prondict -i monophone.mlf mkphones0.led words.mlfDoes nothing, only #!MLF!# is returned in the output.There need to be double quotes around the lab filename in the words.mlf file: */xxx.LAB instead of */xxx.labHDMan
3、 -l hdman.log -w lists/all.wordlist lists/all.words.monophones.dict lists/cmudict.sortERROR +1452 ReadDictProns: word A out of order in dict lists/cmudict.sortFATAL ERROR - Terminating program HDMan Unix sort doesnt seem to match the sort HTK is looking for. Pythons sort function seems to work. Numb
4、ers are sorted with . before 0, shorter before longer (1 1.0 10 data2/20000610_0330_0430_voa_arb_spl0.mfcc ERROR +6251 Input file is not in RIFF formatERROR +6213 OpenWaveInput: GetformatHeaderInfo failedERROR +6313 OpenAsChannel: OpenWaveInput failedERROR +6316 OpenBuffer: OpenAsChannel failedERROR
5、 +1050 OpenParmFile: Config parameters invalidFATAL ERROR - Terminating program HCopy seems to work if I put a single file on the command linecouldnt figure out the problem, but it worked when I used a different computermaybe its a 64-bit vs 32-bit problem? HCompV -C src/ConfigHVite -f 0.01 -v 0.01
6、-m -S lists/train.plp.list -M hmm0 proto/hmm0/prototype_base ERROR +7032 FreezeOptions: vecSize not setERROR +5105 AllocBlock: Cannot allocate block data of 4294967288 bytesFATAL ERROR - Terminating program HCompVWas using the wrong hmm0/prototype; make sure it has the appropriate lines at the top (
7、how the MFCCs were defined, E_Z_A_D etc, means of one, variances of zeroHCompV -C src/ConfigHVite -f 0.01 -v 0.01 -m -S lists/train.plp.list -M hmm0 proto/hmm0/prototype ERROR +7031 GetTransMat: Bad Trans Mat Sum in Row 3HMM Def Error: GetTransMat failed at line 40/col 14/char 1028 in proto/hmm0/pro
8、totype ERROR +7050 HMError:ERROR +7032 LoadHMMSet: GetHMMDef failedERROR +2028 Initialise: LoadHMMSet failedFATAL ERROR - Terminating program HCompV In the prototype file, at the matrix, the copy and paste had split up the lines, so the rows did not add up to one. Make sure each row fits on a single
9、 line.HCompV -C configall -T 1 -A -D -m -M hmm0 -f 0.01 -S train_mfcc.list hmm0/prototypeERROR +5050 ReadConfigFile: = expected line 1/col 8/char 7 in configallERROR +5020 InitShell: ReadConfigFile failed on file configallERROR +2000 HCompV: InitShell failedFATAL ERROR - Terminating program HCompVIf
10、 the first column of the config file lists the program name (HVite, HCopy, etc), make sure there is a colon after the name.HCopy: TARGETKIND=MFCC_0_D_AAlso make sure any # for comments come at the beginning of the line, not the second column. HCompV -c ConfigHVite -T 1 -A -D -m -M hmm0 -f 0.01 -S tr
11、ain_mfcc.list hmm0/prototypeNo HTK Configuration Parameters SetHCompV: Computing side based cepstral mean .ERROR +2039 HCompV: AccGenUtt: speaker pattern matching failure on file: hmm0/prototypeThe -c needs to be -C, or else the config file isnt read. HCompV -C ConfigHVite -T 1 -A -D -m -M hmm0 -f 0
12、.01 -S train_mfcc.list hmm0/prototypeERROR +2050 CheckData: Parameterisation in ./20001001_10.mfcc is incompatible with hmm hmm0/prototypeIn hmm0/prototype, change USER to MFCC_0_D_A (when HCopy is run with MFCC_0 as the TARGETKIND HCompV -C ConfigHVite -T 1 -A -D -m -M hmm0 -f 0.01 -S train_mfcc.li
13、st hmm0/prototypeERROR +2050 CheckData: Vector size in /data/data3/bromberg/fisher/segmented/fla_0069_122.mfcc39 is incompatible with hmm hmm0/proto13In the first line of hmm0/proto, which you need to create by hand in order to run HCompV, make sure the vecSize is the same as the size of the mfccs.
14、Here its saying that the mfcc has 39 dimensions but the proto only calls for 13. Here is a sample script for making the proto file. HCompV -A -T 1 -S trainsets/training-extfiles0 -l lineObservations -I labels.mlf -o lineObservations -m -M models/hmm0.0 hmmdefs/version1-hmm-top-23vec Calculating Fixe
15、d VarianceHMM Prototype: hmmdefs/version1-hmm-top-23vec Segment Label: lineObservations Num Streams : 1 UpdatingMeans: Yes Target Direct: models/hmm0.0 * stack smashing detected *: HCompV terminated HTK is 32-bit program. Install GCC 3.4 for it to run it on a 64 bit machine. . otherwise some part wo
16、rks / some gets stack overflow. HERest -C src/ConfigHVite -I lists/train.phonemlf -t 250.0 150.0 1000.0 -S train.mfcc.list -H hmm0/macros -H hmm0/hmmdefs -M hmm1 lists/monophones1ERROR -7324 StepBack: File . bad data or over pruningPossible problems include corrupt mfcc, non-matching or non-existent
17、 labels. In this case, I had to re-calculate the mean & variance for the prototype hmm using only 1/2 the data, and the problem went away. If every file is considered bad data, you may have derived the features wrong. Go back to HCopy and check the parameters (config file). HERest -C src/ConfigHVite
18、 -I lists/train.phonemlf -t 250.0 150.0 1000.0 -S train.mfcc.list -H hmm0/macros -H hmm0/hmmdefs -M hmm1 lists/monophones1Saving hmms to dir hmm1ERROR +7031 PutTransMat: Row 4 of transition mat sum = 1.064684FATAL ERROR - Terminating program HERestToo much data. Use the -p option, splitting the inpu
19、t and processing over several machines, then doing a separate HERest pass with -p 0 to accumulate the accumulators. Or, as above, use a smaller portion of the data. Also, make sure that the file durations are spread evenly across lists. Dont put all the long files together, mix them up with short on
20、es. HERest -C src/ConfigHVite -I lists/train.phonemlf -t 250.0 150.0 1000.0 -S lists/train.plp.list -H hmm0/macros -H hmm0/hmmdefs -M hmm1 lists/monophones1ERROR +5010 InitSource: Cannot open source file hmm0/macrosERROR +7010 LoadAllMacros: Cant open fileERROR +5010 InitSource: Cannot open source f
21、ile hmm0/hmmdefsERROR +7010 LoadAllMacros: Cant open fileERROR +7050 LoadHMMSet: Macro name expectedERROR +2321 Initialise: LoadHMMSet failedFATAL ERROR - Terminating program HERest Need to make macros file in hmm0 directory. Copy first few lines of the prototype into macros, then append to it the v
22、Floors file.HERest -C src/ConfigHVite -I lists/train.phonemlf -t 250.0 150.0 1000.0 -S lists/train.plp.list -H hmm0/macros -H hmm0/hmmdefs -M hmm1 lists/monophones1ERROR +5010 InitSource: Cannot open source file hmm0/hmmdefsERROR +7010 LoadAllMacros: Cant open fileERROR +7050 LoadHMMSet: Macro name
23、expectedERROR +2321 Initialise: LoadHMMSet failedFATAL ERROR - Terminating program HERestNeed to manually create hmmdefs file. From htkbook: .hmmdefs containing a copy for each of the required monophone HMMs is constructed by manually copying the prototype and relabeling it for each required monopho
24、ne (including sil). Use the build_hmmdefs.py script. Add another copy of the hmm at the bottom with the label sil. HERest -C src/ConfigHVite -I lists/all.phonemlf -t 250.0 150.0 1000.0 -S lists/train.plp.list -H hmm0/macros -H hmm0/hmmdefs -M hmm1 lists/monophones1 Pruning-On250.0 150.0 1000.0 ERROR +6510 LOpen: Unable to open label file /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1