HTK训练遇到的问题

HLed

F:\train2\pre_data>HLEd.exe -l * -d cmudict_add2_add3.dict -i third_phone.mlf w2
mono.led third_word.mlf
  ERROR [+5013]  ReadString: String too long
 FATAL ERROR - Terminating program HLEd.exe

solution:

Make changes to the pronunciation dictionary:
Replace all multiple spaces with single space;
Replace all tabs with single space;
Put a '' before every double quote ("); %"
Put a '' before any dictionary entry beginning with single quote (')

检查了生成的phone文件,查找出错位置,发现third_word.mlf下一条lab中出现了's符号。原因是原文本中teacher’s中间出现了空格

 D:\A\meiju>HLEd.exe -l * -d cmudict_add2_add3_addm1.dict -i first_phone.mlf w2mono.led first_word.mlf
  ERROR [+6550]  LoadHTKLabels: Junk at end of HTK transcription
 FATAL ERROR - Terminating program HLEd.exe

 Add -T 1 to the command line. Where it stops, look in the .mlf file for that transcription. There may be a blank line or something kooky in it. This will help you find a lot of the errors that HLEd comes up with.

mlf中有空行。

HResult

1、F:\train2>F:\train2\htktools\HResults.exe -f -t -I F:\train2\seconddata\second_word.mlf F:\train2\data\lists\Iter1\tiedlist F:\train2\out_rec.mlf > second_all.result
  ERROR [+6550]  LoadHTKLabels: Junk at end of HTK transcription
 FATAL ERROR - Terminating program F:\train2\htktools\HResults.exe

solution:Add -T 1 to the command line. Where it stops, look in the .mlf file for that transcription. There may be a blank line or something kooky in it. This will help you find a lot of the errors that HLEd comes up with.

实际是识别文件中出现了为识别的空行,打开rec.mlf,找到空行删除即可。

 "F:/train2/seconddata/feature/speech1003-0009.rec"
.

2、F:\train2>F:\train2\htktools\HResults.exe -f -t -I F:\train2\seconddata\second_word.mlf F:\train2\data\lists\Iter1\tiedlist F:\train2\out_rec.mlf > second_all.result
  ERROR [+6570]  GetLabelList: n[1] > numLists[0]
 FATAL ERROR - Terminating program F:\train2\htktools\HResults.exe

solution:Run the command again with -f to show full results. Look in the reference mlf file at the utterance _after_ the last one listed before the error shows up. It's empty. Put something there or remove it (must be removed from reference).

实际是lab文件为空行,删除即可。

"*/speech04-0057.lab"
.

扩展为3音素后,重估

HERest -A -C ./config/cfg_herest -D -T 1 -S ./data/scp/Iter1/train.scp.10 -H ./Models/Iter1/crosstri/hmm0/MODELS -p 10 -M ./Models/Iter1/crosstri/hmm1 -I ./data/labels/Iter1/crstri.mlf -s ./Models/Iter1/crosstri/hmm1/stats ./data/lists/Iter1/crstri.list
  ERROR [+6510]  LOpen: Unable to open label file D:/wlj/news/MFCC/mfcc/20090306/20090306_125_SILENCE_t7_s1_M_I_C_M.lab
 FATAL ERROR - Terminating program htktools/HERest.exe

经检查,train.scp 和.lab以及 .mlf都没问题,发现lab文件夹里的cri.mlf有问题。

 

AU ./data/lists/Iter1/full.list
 Creating HMMset using trees to add unseen triphones
  ERROR [+2662]  AssignStructure: cannot find tree for ae-ih+b state 2
 FATAL ERROR - Terminating program htktools3.2/HHEd.exe
[Error] in htktools3.2/HHEd.exe -H ./Models/Iter1/crosstri/hmm6/MODELS -w ./Models/Iter1/cluster/hmm0/MODELS ./Edifiles/cluster.hed ./data/lists/Iter1/crstri.list

cluster.hed应注意中英文

 

  ERROR [+9999]  HLVNet: no model label for phone (sp-ow+jh)
 FATAL ERROR - Terminating program D:\train\htktools\HDecode.exe

词典过大。

你可能感兴趣的:(htk)