Click here to register.

Step 7 - Fixing the Silence Models

Background 

In the last step you created HMM models that did not include an "sp" (short pause) silence model - which refers to the types of short pauses that occur between words in normal speech.  However, you did create a "sil" silence model - sil silence models are typically of longer duration, and refer to the pauses occur at the end of a sentence.   

The HTK book says that the sp model needs to have its "emitting state tied to the centre state of the silence model".  What this means is that you need to create a new sp model in your hmmdefs, that it will use the centre state of sil, and then they both need to be 'tied' together.  For a bit of background on HMMs and states, see this example

This can be done by copying the centre state from the sil model in your hmmdefs file and adding it to the sp model, and then running a special tool called HHED to 'tie' the sp model to the sil model so that they share the same centre state.  The HTK book provides some background on what this means, but you need an understanding of the basics of Hidden Markov Modelling before tackling the HTK Book explanations (the University of Leeds HMM tutorial provides a very good tutorial on Hidden Markov Modelling).

Note: you do not need to understand HMMs to complete this tutorial.

Tutorial 

First copy the contents of the hmm3 folder to hmm4.  Then using an editor, create new "sp" model in hmm4/hmmdefs as follows:

  • copy and paste the “sil” model and rename the new one “sp”(don't delete your old "sil" model, you will need it - just make a copy of it)
  • remove state 2 and 4 from new “sp” model (i.e. keep 'centre state' of old “sil” model in new “sp” model)
  • change <NUMSTATES> to 3
  • change <STATE> to 2
  • change <TRANSP> to 3
  • change matrix in <TRANSP> to 3 by 3 array
  • change numbers in matrix as follows:
 0.0 1.0 0.0
 0.0 0.9 0.1
 0.0 0.0 0.0

Your sp model should look something like this:

~h "sp"
<BEGINHMM>
<NUMSTATES> 3
<STATE> 2
<MEAN> 25
 -7.046570e+00 -3.262981e-01 -1.706483e+00 -1.080971e+00 -1.134529e+00 3.588506e+00 3.917166e+00 1.443405e+00 4.899211e+00 3.409961e+00 8.219168e-01 3.644213e+00 -7.641904e-02 -6.077167e-02 2.118241e-01 -8.631640e-02 3.686112e-02 8.506200e-02 -8.106526e-02 1.066912e-02 1.281262e-01 -1.437282e-01 -3.412217e-02 1.333326e-01 1.202221e-01
<VARIANCE> 25
 7.911258e+00 8.348815e+00 1.148870e+01 1.213321e+01 8.655976e+00 1.509970e+01 9.904381e+00 1.166922e+01 1.025182e+01 8.845907e+00 8.135198e+00 9.622693e+00 9.084668e-01 7.631339e-01 1.614822e+00 9.755048e-01 7.167343e-01 1.691362e+00 1.297928e+00 9.801642e-01 1.225108e+00 1.051384e+00 9.349809e-01 1.529028e+00 5.576642e-01
<GCONST> 7.411308e+01
<TRANSP> 3
 0.0 1.0 0.0
 0.0 0.9 0.1
 0.0 0.0 0.0
<ENDHMM>

Your files should look like this:

Next, run the HMM editor called HHEd to "tie" the sp state to the sil centre state - tying means that one or more HMMs share the same set of parameters.  To do this you need to create the following HHEd command script, called sil.hed, in your voxforge/manual folder:

AT 2 4 0.2 {sil.transP}
AT 4 2 0.2 {sil.transP}
AT 1 3 0.3 {sp.transP}
TI silst {sil.state[3],sp.state[2]}

The last line is the "tie" command.  Next run HHEd as follows, but using the monophones1 file which contains the sp model:

$HHEd -A -D -T 1 -H hmm4/macros -H hmm4/hmmdefs -M hmm5 sil.hed monophones1

The files created by this command are:

Next run HERest 2 more times, this time using the monophones1 file: 

$HERest -A -D -T 1 -C config  -I phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H  hmm5/hmmdefs -M hmm6 monophones1

The files created by this command are:

 

$HERest -A -D -T 1 -C config  -I phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm6/macros -H hmm6/hmmdefs -M hmm7 monophones1

The files created by this command are:

 


Comments

Click the 'Add' link to add a comment to this page; click the 'Read More' link to view replies to a posted comment.

AddSearch

problem eith step 7....any help?
By Visitor - 3/15/2010 - 3 Replies

can anyone solve my problem at step 7????

C:\htk\bin.win32>HHEd -A -D -T 1 -H hmm4/macros.txt -H hmm4/hmmdefs.txt -M hmm5\
sil.hed monophones1.txt
HHEd -A -D -T 1 -H hmm4/macros.txt -H hmm4/hmmdefs.txt -M hmm5\sil.hed monophone
s1.txt

No HTK Configuration Parameters Set

  ERROR [+2619]  HHEd: HMM list file name expected
 FATAL ERROR - Terminating program HHEd

 

 

i do not how i can create this file .hed just i created sil.txt

is it ok to complete my task???another problem is that with sil.txt also there are errors which i coudn't solve?

Reason for not supporting successive Tee models in HERest
By Tom - 3/12/2010 - 1 Replies

Do any one know what is the reason for HERest not permitting successive Tee models ? Any pratical or conceptual reason behind that?

phones1.mlf ???
By puphe_88 - 1/1/2010 - 1 Replies

what the contains file of phones1.mlf when compile hmm6 , hmm7 ??

help on my error 7321
By abinew A - 11/22/2009 - 1 Replies

administrator@home-1c4b4e8ca9 /home/voxforge/manual
i face a problem when executing the following command so as to create hmm6/hmmdefs and hmm6/hmmdefs:

HERest -A -D -T 1 -C config  -I phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H  hmm5/hmmdefs -M hmm6 monophones1

i also tried

HERest -A -D -T 1 -C config  -I phones0.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H  hmm5/hmmdefs -M hmm6 monophones1

but still i face a problem.

is there any one who can help me?

thank you!

the output of my system is as follows:

adminstrator@home-1c4b4e8ca9 /home/voxforge/manual
$ HERest -A -D -T 1 -C config  -I phones0.mlf -t 250.0 150.0 3000.0 -S train.sc
p -H hmm5/macros -H  hmm5/hmmdefs -M hmm6 monophones1
C:\cygwin\HTK\htk-3.3-windows-binary\htk\HERest.exe -A -D -T 1 -C config -I phon
es0.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H hmm5/hmmdefs -M hmm
6 monophones1

HTK Configuration Parameters[10]
  Module/Tool     Parameter                  Value
#                 NUMCEPS                       12
#                 CEPLIFTER                     22
#                 NUMCHANS                      26
#                 PREEMCOEF               0.970000
#                 USEHAMMING                  TRUE
#                 WINDOWSIZE         250000.000000
#                 SAVEWITHCRC                 TRUE
#                 SAVECOMPRESSED              TRUE
#                 TARGETRATE         100000.000000
#                 TARGETKIND          MFCC_0_D_N_Z

HERest  ML Updating: Transitions Means Variances

 System is SHARED
29 Logical/29 Physical Models Loaded, VecSize=25
2 MMF input files
Pruning-On[250.0 150.0 3000.0]
 Processing Data: sample1.mfc; Label sample1.lab
  ERROR [+7321]  CreateInsts: Unknown label sil
 FATAL ERROR - Terminating program C:\cygwin\HTK\htk-3.3-windows-binary\htk\HERe
st.exe

abinew@home-1c4b4e8ca9 /home/voxforge/manual
$

error in HERest
By joshuajnoble - 6/6/2009 - 4 Replies

I get the following error when I run the HERest command:

 

HTK Configuration Parameters[10]
  Module/Tool     Parameter                  Value
#                 NUMCEPS                       12
#                 CEPLIFTER                     22
#                 NUMCHANS                      26
#                 PREEMCOEF               0.970000
#                 USEHAMMING                  TRUE
#                 WINDOWSIZE         250000.000000
#                 SAVEWITHCRC                 TRUE
#                 SAVECOMPRESSED              TRUE
#                 TARGETRATE         100000.000000
#                 TARGETKIND          MFCC_0_D_N_Z

HERest  ML Updating: Transitions Means Variances

 System is SHARED
45 Logical/45 Physical Models Loaded, VecSize=25
2 MMF input files
Pruning-On[250.0 150.0 3000.0]
 Processing Data: sample1.mfc; Label sample1.lab
  ERROR [+7321]  CreateInsts: Unknown label HELLO

 

Everything has gone swimmingly up until this point, so I'm not sure what's gone off here.

Mistake in tutorial
By zvaracik - 5/20/2009 - 1 Replies

I try this manual for create grammar recognition engine. But tutorial in this page I found a mistake.

When I create in folder hmm4 file hmmdefs, and in this new sp model, so there are  different transp matrice in tutorial a in hmm4/hmmdefs in exaple.

Its very important how matrice I set? Which is that correct?

Thank

Re: Error [+6510] LOpen: Unable to open label file downsampled.lab
By kmaclean - 3/15/2009 - 3 Replies

from this post by kalmanbucy:

Re: Error [+6510] LOpen: Unable to open label file downsampled.lab

In the "A Tutorial Example" of HTKbook, we need to put .lab files with those .mfc in the feature folder as we create flat start monophones. Then we execute "HERest" three times to train the model. After that we add a model for "sp" in the step 7 to fix silence model, and use "HLEd" to generate a new trascription file for all phones plus "sp", called phones1, right. Then we need to train the models twice more. However, an issue comes up. The .lab files under .data/train/feature remains old, i.e. no "sp" was added to these .lab files while silence model was fixed.If we follow the htk tutorial to execute this below:

HERest -C config/config1 -I labels/phones1.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmms/hmm5/macros -H hmms/hmm5/hmmdefs -M hmms/hmm6 lists/monophones1

A warning will pop up:

Pruning-On[250.0 150.0 1000.0]
 WARNING [-2331]  UpdateModels: sp[25] copied: only 0 egs
 in HERestp:

It means model can't be updated due to little training data, because .lab will be searched in the process of training. Have you ever meet this trouble before?

HHEd
By MrNice - 3/9/2009 - 5 Replies

Hi,

I've got a problem with the HHEd command! I executed the HHEd command like described on this page, but I always get this Error massage:

$HHEd -A -D -T 1 -H hmm4/macros -H hmm4/hmmdefs -M hmm5 sil.hed monophones1


No HTK Configuration Parameters Set

  ERROR [+5010]  InitSource: Cannot open source file sil
  ERROR [+7010]  LoadHMMSet: Can't find file
  ERROR [+2628]  Initialise: LoadHMMSet failed
 FATAL ERROR - Terminating program HHEd

 

Can anyone help me?

Errore creating file for hmm6
By Manuel - 9/6/2007 - 3 Replies

When I execute:

HERest -A -D -T 1 -C config -I phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H hmm5/hmmdefs -M hmm6 monophones1 

It give me this error 

ERROR [+7332]  CreateInsts: Cannot have successive Tee models
 FATAL ERROR - Terminating program HERest

 I check all the previous file in hmm5, and they are like the example of the tutorial.

Someone can help me?

Tks