Click here to register.

Step 10 - Making Tied-State Triphones

You will be using the global.ded script you created in a previous step, confirm that its contents are as follows:

AS sp
RS cmu
MP sil sil sp

Then execute the HDMan command against the entire lexicon file, not just the training dictionnary we have used thus far (that is why we needed to create a phonetically balanced grammar in Step 2):

$HDMan -A -D -T 1 -b sp -n fulllist -g global.ded -l flog dict-tri ../lexicon/voxforge_lexicon

this creates 2 files:

Next create a new fulllist1 file and copy the contents of the fulllist and triphones1 into it. Copy the  fixfullist.pl script to your 'voxforge/manual folder', and execute as follows to remove any duplicate entries:

$perl fixfulllist.pl fulllist1 fulllist

Your updated file should look like this: fulllist

tree.hed script

Next you create a new script called tree.hed in your 'voxforge/manual' folder containing the following:

RO 100 stats

TR 0

QS  "R_NonBoundary"           { *+* }
QS  "R_Silence"                      { *+sil }
QS  "R_Stop"              { *+p,*+pd,*+b,*+t,*+td,*+d,*+dd,*+k,*+kd,*+g }
QS  "R_Nasal"                        { *+m,*+n,*+en,*+ng }
QS  "R_Fricative"      { *+s,*+sh,*+z,*+f,*+v,*+ch,*+jh,*+th,*+dh }
QS  "R_Liquid"                       { *+l,*+el,*+r,*+w,*+y,*+hh }
QS  "R_Vowel"                       { *+eh,*+ih,*+ao,*+aa,*+uw,*+ah,*+ax,*+er,*+ay,*+oy,*+ey,*+iy,*+ow }
QS  "R_C-Front"                    { *+p,*+pd,*+b,*+m,*+f,*+v,*+w }
QS  "R_C-Central"     { *+t,*+td,*+d,*+dd,*+en,*+n,*+s,*+z,*+sh,*+th,*+dh,*+l,*+el,*+r }
QS  "R_C-Back"                     { *+sh,*+ch,*+jh,*+y,*+k,*+kd,*+g,*+ng,*+hh }
QS  "R_V-Front"                    { *+iy,*+ih,*+eh }
QS  "R_V-Central"     { *+eh,*+aa,*+er,*+ao }
QS  "R_V-Back"                     { *+uw,*+aa,*+ax,*+uh }
QS  "R_Front"                        { *+p,*+pd,*+b,*+m,*+f,*+v,*+w,*+iy,*+ih,*+eh }
QS  "R_Central"                     { *+t,*+td,*+d,*+dd,*+en,*+n,*+s,*+z,*+sh,*+th,*+dh,*+l,*+el,*+r,*+eh,*+aa,*+er,*+ao }
QS  "R_Back"             { *+sh,*+ch,*+jh,*+y,*+k,*+kd,*+g,*+ng,*+hh,*+aa,*+uw,*+ax,*+uh }
QS  "R_Fortis"                       { *+p,*+pd,*+t,*+td,*+k,*+kd,*+f,*+th,*+s,*+sh,*+ch }
QS  "R_Lenis"             { *+b,*+d,*+dd,*+g,*+v,*+dh,*+z,*+sh,*+jh }
QS  "R_UnFortLenis"            { *+m,*+n,*+en,*+ng,*+hh,*+l,*+el,*+r,*+y,*+w }
QS  "R_Coronal"                    { *+t,*+td,*+d,*+dd,*+n,*+en,*+th,*+dh,*+s,*+z,*+sh,*+ch,*+jh,*+l,*+el,*+r }
QS  "R_NonCoronal" { *+p,*+pd,*+b,*+m,*+k,*+kd,*+g,*+ng,*+f,*+v,*+hh,*+y,*+w }
QS  "R_Anterior"        { *+p,*+pd,*+b,*+m,*+t,*+td,*+d,*+dd,*+n,*+en,*+f,*+v,*+th,*+dh,*+s,*+z,*+l,*+el,*+w }
QS  "R_NonAnterior" { *+k,*+kd,*+g,*+ng,*+sh,*+hh,*+ch,*+jh,*+r,*+y }
QS  "R_Continuent"   { *+m,*+n,*+en,*+ng,*+f,*+v,*+th,*+dh,*+s,*+z,*+sh,*+hh,*+l,*+el,*+r,*+y,*+w }
QS  "R_NonContinuent"        { *+p,*+pd,*+b,*+t,*+td,*+d,*+dd,*+k,*+kd,*+g,*+ch,*+jh }
QS  "R_Strident"        { *+s,*+z,*+sh,*+ch,*+jh }
QS  "R_NonStrident"  { *+f,*+v,*+th,*+dh,*+hh }
QS  "R_UnStrident"   { *+p,*+pd,*+b,*+m,*+t,*+td,*+d,*+dd,*+n,*+en,*+k,*+kd,*+g,*+ng,*+l,*+el,*+r,*+y,*+w }
QS  "R_Glide"                        { *+hh,*+l,*+el,*+r,*+y,*+w }
QS  "R_Syllabic"         { *+en,*+m,*+l,*+el,*+er }
QS  "R_Unvoiced-Cons"        { *+p,*+pd,*+t,*+td,*+k,*+kd,*+s,*+sh,*+f,*+th,*+hh,*+ch }
QS  "R_Voiced-Cons" { *+jh,*+b,*+d,*+dd,*+dh,*+g,*+y,*+l,*+el,*+m,*+n,*+en,*+ng,*+r,*+v,*+w,*+z }
QS  "R_Unvoiced-All"            { *+p,*+pd,*+t,*+td,*+k,*+kd,*+s,*+sh,*+f,*+th,*+hh,*+ch,*+sil }
QS  "R_Long"             { *+iy,*+aa,*+ow,*+ao,*+uw,*+en,*+m,*+l,*+el }
QS  "R_Short"                        { *+eh,*+ey,*+aa,*+ih,*+ay,*+oy,*+ah,*+ax,*+uh }
QS  "R_Dipthong"      { *+ey,*+ay,*+oy,*+aa,*+er,*+en,*+m,*+l,*+el }
QS  "R_Front-Start"   { *+ey,*+aa,*+er }
QS  "R_Fronting"       { *+ay,*+ey,*+oy }
QS  "R_High"             { *+ih,*+uw,*+aa,*+ax,*+iy }
QS  "R_Medium"                    { *+ey,*+er,*+aa,*+ax,*+eh,*+en,*+m,*+l,*+el }
QS  "R_Low"              { *+eh,*+ay,*+aa,*+aw,*+ao,*+oy }
QS  "R_Rounded"                   { *+ao,*+uw,*+aa,*+ax,*+oy,*+w }
QS  "R_Unrounded"   { *+eh,*+ih,*+aa,*+er,*+ay,*+ey,*+iy,*+aw,*+ah,*+ax,*+en,*+m,*+hh,*+l,*+el,*+r,*+y }
QS  "R_NonAffricate"            { *+s,*+sh,*+z,*+f,*+v,*+th,*+dh }
QS  "R_Affricate"       { *+ch,*+jh }
QS  "R_IVowel"                      { *+ih,*+iy }
QS  "R_EVowel"                     { *+eh,*+ey }
QS  "R_AVowel"                     { *+eh,*+aa,*+er,*+ay,*+aw }
QS  "R_OVowel"                    { *+ao,*+oy,*+aa }
QS  "R_UVowel"                    { *+aa,*+ax,*+en,*+m,*+l,*+el,*+uw }
QS  "R_Voiced-Stop"  { *+b,*+d,*+dd,*+g }
QS  "R_Unvoiced-Stop"         { *+p,*+pd,*+t,*+td,*+k,*+kd }
QS  "R_Front-Stop"   { *+p,*+pd,*+b }
QS  "R_Central-Stop"            { *+t,*+td,*+d,*+dd }
QS  "R_Back-Stop"     { *+k,*+kd,*+g }
QS  "R_Voiced-Fric"  { *+z,*+sh,*+dh,*+ch,*+v }
QS  "R_Unvoiced-Fric"          { *+s,*+sh,*+th,*+f,*+ch }
QS  "R_Front-Fric"    { *+f,*+v }
QS  "R_Central-Fric" { *+s,*+z,*+th,*+dh }
QS  "R_Back-Fric"     { *+sh,*+ch,*+jh }
QS  "R_aa"                 { *+aa }
QS  "R_ae"                 { *+ae }
QS  "R_ah"                 { *+ah }
QS  "R_ao"                 { *+ao }
QS  "R_aw"                { *+aw }
QS  "R_ax"                 { *+ax }
QS  "R_ay"                 { *+ay }
QS  "R_b"                   { *+b }
QS  "R_ch"                 { *+ch }
QS  "R_d"                   { *+d }
QS  "R_dd"                 { *+dd }
QS  "R_dh"                 { *+dh }
QS  "R_dx"                 { *+dx }
QS  "R_eh"                 { *+eh }
QS  "R_el"                  { *+el }
QS  "R_en"                 { *+en }
QS  "R_er"                  { *+er }
QS  "R_ey"                  { *+ey }
QS  "R_f"                    { *+f }
QS  "R_g"                   { *+g }
QS  "R_hh"                 { *+hh }
QS  "R_ih"                  { *+ih }
QS  "R_iy"                  { *+iy }
QS  "R_jh"                  { *+jh }
QS  "R_k"                   { *+k }
QS  "R_kd"                 { *+kd }
QS  "R_l"                    { *+l }
QS  "R_m"                  { *+m }
QS  "R_n"                   { *+n }
QS  "R_ng"                 { *+ng }
QS  "R_ow"                { *+ow }
QS  "R_oy"                 { *+oy }
QS  "R_p"                   { *+p }
QS  "R_pd"                 { *+pd }
QS  "R_r"                    { *+r }
QS  "R_s"                    { *+s }
QS  "R_sh"                  { *+sh }
QS  "R_t"                    { *+t }
QS  "R_td"                  { *+td }
QS  "R_th"                  { *+th }
QS  "R_ts"                  { *+ts }
QS  "R_uh"                 { *+uh }
QS  "R_uw"                { *+uw }
QS  "R_v"                   { *+v }
QS  "R_w"                  { *+w }
QS  "R_y"                   { *+y }
QS  "R_z"                    { *+z }
QS  "L_NonBoundary"           { *-* }
QS  "L_Silence"                      { sil-* }
QS  "L_Stop"              { p-*,pd-*,b-*,t-*,td-*,d-*,dd-*,k-*,kd-*,g-* }
QS  "L_Nasal"                        { m-*,n-*,en-*,ng-* }
QS  "L_Fricative"      { s-*,sh-*,z-*,f-*,v-*,ch-*,jh-*,th-*,dh-* }
QS  "L_Liquid"                       { l-*,el-*,r-*,w-*,y-*,hh-* }
QS  "L_Vowel"                       { eh-*,ih-*,ao-*,aa-*,uw-*,ah-*,ax-*,er-*,ay-*,oy-*,ey-*,iy-*,ow-* }
QS  "L_C-Front"                    { p-*,pd-*,b-*,m-*,f-*,v-*,w-* }
QS  "L_C-Central"     { t-*,td-*,d-*,dd-*,en-*,n-*,s-*,z-*,sh-*,th-*,dh-*,l-*,el-*,r-* }
QS  "L_C-Back"                     { sh-*,ch-*,jh-*,y-*,k-*,kd-*,g-*,ng-*,hh-* }
QS  "L_V-Front"                    { iy-*,ih-*,eh-* }
QS  "L_V-Central"     { eh-*,aa-*,er-*,ao-* }
QS  "L_V-Back"                     { uw-*,aa-*,ax-*,uh-* }
QS  "L_Front"                        { p-*,pd-*,b-*,m-*,f-*,v-*,w-*,iy-*,ih-*,eh-* }
QS  "L_Central"                     { t-*,td-*,d-*,dd-*,en-*,n-*,s-*,z-*,sh-*,th-*,dh-*,l-*,el-*,r-*,eh-*,aa-*,er-*,ao-* }
QS  "L_Back"             { sh-*,ch-*,jh-*,y-*,k-*,kd-*,g-*,ng-*,hh-*,aa-*,uw-*,ax-*,uh-* }
QS  "L_Fortis"                       { p-*,pd-*,t-*,td-*,k-*,kd-*,f-*,th-*,s-*,sh-*,ch-* }
QS  "L_Lenis"             { b-*,d-*,dd-*,g-*,v-*,dh-*,z-*,sh-*,jh-* }
QS  "L_UnFortLenis"            { m-*,n-*,en-*,ng-*,hh-*,l-*,el-*,r-*,y-*,w-* }
QS  "L_Coronal"                    { t-*,td-*,d-*,dd-*,n-*,en-*,th-*,dh-*,s-*,z-*,sh-*,ch-*,jh-*,l-*,el-*,r-* }
QS  "L_NonCoronal" { p-*,pd-*,b-*,m-*,k-*,kd-*,g-*,ng-*,f-*,v-*,hh-*,y-*,w-* }
QS  "L_Anterior"        { p-*,pd-*,b-*,m-*,t-*,td-*,d-*,dd-*,n-*,en-*,f-*,v-*,th-*,dh-*,s-*,z-*,l-*,el-*,w-* }
QS  "L_NonAnterior" { k-*,kd-*,g-*,ng-*,sh-*,hh-*,ch-*,jh-*,r-*,y-* }
QS  "L_Continuent"   { m-*,n-*,en-*,ng-*,f-*,v-*,th-*,dh-*,s-*,z-*,sh-*,hh-*,l-*,el-*,r-*,y-*,w-* }
QS  "L_NonContinuent"        { p-*,pd-*,b-*,t-*,td-*,d-*,dd-*,k-*,kd-*,g-*,ch-*,jh-* }
QS  "L_Strident"        { s-*,z-*,sh-*,ch-*,jh-* }
QS  "L_NonStrident"  { f-*,v-*,th-*,dh-*,hh-* }
QS  "L_UnStrident"   { p-*,pd-*,b-*,m-*,t-*,td-*,d-*,dd-*,n-*,en-*,k-*,kd-*,g-*,ng-*,l-*,el-*,r-*,y-*,w-* }
QS  "L_Glide"                        { hh-*,l-*,el-*,r-*,y-*,w-* }
QS  "L_Syllabic"         { en-*,m-*,l-*,el-*,er-* }
QS  "L_Unvoiced-Cons"        { p-*,pd-*,t-*,td-*,k-*,kd-*,s-*,sh-*,f-*,th-*,hh-*,ch-* }
QS  "L_Voiced-Cons" { jh-*,b-*,d-*,dd-*,dh-*,g-*,y-*,l-*,el-*,m-*,n-*,en-*,ng-*,r-*,v-*,w-*,z-* }
QS  "L_Unvoiced-All"            { p-*,pd-*,t-*,td-*,k-*,kd-*,s-*,sh-*,f-*,th-*,hh-*,ch-*,sil-* }
QS  "L_Long"             { iy-*,aa-*,ow-*,ao-*,uw-*,en-*,m-*,l-*,el-* }
QS  "L_Short"                        { eh-*,ey-*,aa-*,ih-*,ay-*,oy-*,ah-*,ax-*,uh-* }
QS  "L_Dipthong"      { ey-*,ay-*,oy-*,aa-*,er-*,en-*,m-*,l-*,el-* }
QS  "L_Front-Start"   { ey-*,aa-*,er-* }
QS  "L_Fronting"       { ay-*,ey-*,oy-* }
QS  "L_High"             { ih-*,uw-*,aa-*,ax-*,iy-* }
QS  "L_Medium"                    { ey-*,er-*,aa-*,ax-*,eh-*,en-*,m-*,l-*,el-* }
QS  "L_Low"              { eh-*,ay-*,aa-*,aw-*,ao-*,oy-* }
QS  "L_Rounded"                   { ao-*,uw-*,aa-*,ax-*,oy-*,w-* }
QS  "L_Unrounded"   { eh-*,ih-*,aa-*,er-*,ay-*,ey-*,iy-*,aw-*,ah-*,ax-*,en-*,m-*,hh-*,l-*,el-*,r-*,y-* }
QS  "L_NonAffricate"            { s-*,sh-*,z-*,f-*,v-*,th-*,dh-* }
QS  "L_Affricate"       { ch-*,jh-* }
QS  "L_IVowel"                      { ih-*,iy-* }
QS  "L_EVowel"                     { eh-*,ey-* }
QS  "L_AVowel"                     { eh-*,aa-*,er-*,ay-*,aw-* }
QS  "L_OVowel"                    { ao-*,oy-*,aa-* }
QS  "L_UVowel"                    { aa-*,ax-*,en-*,m-*,l-*,el-*,uw-* }
QS  "L_Voiced-Stop"  { b-*,d-*,dd-*,g-* }
QS  "L_Unvoiced-Stop"         { p-*,pd-*,t-*,td-*,k-*,kd-* }
QS  "L_Front-Stop"   { p-*,pd-*,b-* }
QS  "L_Central-Stop"            { t-*,td-*,d-*,dd-* }
QS  "L_Back-Stop"     { k-*,kd-*,g-* }
QS  "L_Voiced-Fric"  { z-*,sh-*,dh-*,ch-*,v-* }
QS  "L_Unvoiced-Fric"          { s-*,sh-*,th-*,f-*,ch-* }
QS  "L_Front-Fric"    { f-*,v-* }
QS  "L_Central-Fric" { s-*,z-*,th-*,dh-* }
QS  "L_Back-Fric"     { sh-*,ch-*,jh-* }
QS  "L_aa"                 { aa-* }
QS  "L_ae"                 { ae-* }
QS  "L_ah"                 { ah-* }
QS  "L_ao"                 { ao-* }
QS  "L_aw"                { aw-* }
QS  "L_ax"                 { ax-* }
QS  "L_ay"                 { ay-* }
QS  "L_b"                   { b-* }
QS  "L_ch"                 { ch-* }
QS  "L_d"                   { d-* }
QS  "L_dd"                 { dd-* }
QS  "L_dh"                 { dh-* }
QS  "L_dx"                 { dx-* }
QS  "L_eh"                 { eh-* }
QS  "L_el"                  { el-* }
QS  "L_en"                 { en-* }
QS  "L_er"                  { er-* }
QS  "L_ey"                  { ey-* }
QS  "L_f"                    { f-* }
QS  "L_g"                   { g-* }
QS  "L_hh"                 { hh-* }
QS  "L_ih"                  { ih-* }
QS  "L_iy"                  { iy-* }
QS  "L_jh"                  { jh-* }
QS  "L_k"                   { k-* }
QS  "L_kd"                 { kd-* }
QS  "L_l"                    { l-* }
QS  "L_m"                  { m-* }
QS  "L_n"                   { n-* }
QS  "L_ng"                 { ng-* }
QS  "L_ow"                { ow-* }
QS  "L_oy"                 { oy-* }
QS  "L_p"                   { p-* }
QS  "L_pd"                 { pd-* }
QS  "L_r"                    { r-* }
QS  "L_s"                    { s-* }
QS  "L_sh"                  { sh-* }
QS  "L_t"                    { t-* }
QS  "L_td"                  { td-* }
QS  "L_th"                  { th-* }
QS  "L_ts"                  { ts-* }
QS  "L_uh"                 { uh-* }
QS  "L_uw"                { uw-* }
QS  "L_v"                   { v-* }
QS  "L_w"                  { w-* }
QS  "L_y"                   { y-* }
QS  "L_z"                    { z-* }
 
TR 2

(Note: make sure you have a blank line at the end of this file) 

Here is a short description of the commands contained in tree.hed:

  • RO - outlier threshhold
  • 1st "TR" - trace level
  • QS - question - defined by the user (see quests.hed file in HTK distribution - RM demo folder)
(each QS command loads a single question and that question is defined by a set of contexts)
  • 2nd "TR" - enables intermediate level progress reporting
  • TB - clusters one specific setof states - created with the mkclscript.prl command
  • AU - synthesize previously unseen triphones, i.e. use the set of newly created decision trees to make all the triphones included in the list
  • CO - compact the model set: some state definitions will be exactly the same (same means and variances etc.). To save space, only one of these states is kept in the definition, others are added to the tiedlist.
  • ST - save the decision trees in a file

Refer to the HTK book for details on these commands. 

Next run the mkclscript.prl (you should have already copied it from your HTK folder in  'htk-3.3/samples/RMHTK/perl_scripts' folder to your voxforge/HTK_scripts folder) script as follows:

$perl ../HTK_scripts/mkclscript.prl TB 350 monophones0 >> tree.hed

Then add the following to the end of your tree.hed file:

 
TR 1
 
AU "fulllist"
CO "tiedlist"
 
ST "trees"

Your file should look like this: tree.hedtree.hed

Next create  3 more folders: hmm13-15

Then execute the HHEd command:

$HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

This command creates 3 files:

 Next run HERest 2 more times: 

$HERest -A -D -T 1 -T 1 -C config -I wintri.mlf -s stats -t 250.0 150.0 3000.0 -S train.scp -H hmm13/macros -H hmm13/hmmdefs -M hmm14 tiedlist

This command creates 2 files:

$HERest -A -D -T 1 -T 1 -C config -I wintri.mlf -s stats -t 250.0 150.0 3000.0 -S train.scp -H hmm14/macros -H hmm14/hmmdefs -M hmm15 tiedlist

This creates 2 files:

The hmmdefs file in the hmm15 folder, along with the tiedlist file, can now be used with Julian to recognize your speech!


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

Italian tree.hed
By occimanete - 11/20/2009 - 2 Replies

Hello folks.

So, did any italian made already the italian tree.hed for the festival phoneset and relative Lexicon? If the answer is negative, does anybody know how long does it take to make one? more than one or two days? because in 5 days I need to submit my final thesis and maybe I have to try to see what results i get with monophone and give up with the triphone.

 

Occimanete.

please help this error
By hi - 11/19/2009 - 1 Replies

when i excuted this command:

HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

i have faced with the error[+2662] Assigning structure:can't find tree for b state 2 and terminating program HHed.exe.so what would be the possible cause and the splution.

can anyone help me.

AssignStructure Error
By Ronald - 11/4/2009 - 1 Replies

Hi,

Can anyone help me with this problem. I'm facing this error.


AU fulllist

Creating HMMset using trees to add unseen triphones

ERROR [+2662] AssignStructure: cannot find tree for b state 5

FATAL ERROR - Terminating program HHEd


Ronald

ERROR [+2662] FindProtoModel: no proto f
By hafte - 9/18/2009 - 1 Replies

Dear ,All

 

AU fulllist
 Creating HMMset using trees to add unseen triphones
  ERROR [+2662]  FindProtoModel: no proto for P in hSet
 FATAL ERROR - Terminating program HHEd

error 7321
By xuexiaoyan - 9/5/2009 - 5 Replies

when i do Step 9 - Making Triphones from Monophones",i get aligned.mlf. But when I do the next step"HERest  -A -D -T 1 -C config -I wintri.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm10/macros -H hmm10/hmmdefs -M hmm11 triphones1
", I got the following error "ERROR [+7321]  CreateInsts: Unknown label sh
 FATAL ERROR - Terminating program HERest

 

by the way ,I use timit to do this experiment. I follow the steps that http://www.voxforge.org/home/dev/acousticmodels/linux/create/htkjulius/tutorial

says.

but when I add the monophones to hmmdefs and triphones,the error disappear.

why is that?

 

Thank you!

tree.hed
By zvaracik - 6/19/2009 - 1 Replies

Can someone help me with create tree.hed for own language (Slovak), or have you any tutorial for creating it?

Thank You very mych.

no proto for sCHAS in hSet in HHEd, step 10
By Ling - 6/13/2009 - 1 Replies

Dear,

I have the problem when runnning HHEd command as below.program terminated due and no hmmdefs and macros file created in hmm13.

 

ling@ling-laptop:~/Tutorial$ HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

.....

TR 1
 Adjusting trace level

AU fulllist
 Creating HMMset using trees to add unseen triphones
  ERROR [+hh]  FindProtoModel: no proto for sCHAS in hSet
 FATAL ERROR - Terminating program HHEd

really hope some one can help.

Thank you so much.

Regards,

Ling

Some mistakes and a new trick
By tpavelka - 5/6/2009 - 3 Replies

First, there are mistakes in the description of HHEd commands, here is my correction:

AU - synthesize previously unseen triphones, i.e. use the set of newly created decision trees to make all the triphones included in the list

CO - compact the model set: some state definitions will be exactly the same (same means and variances etc.). To save space, only one of these states is kept in the definition, others are added to the tiedlist.

ST - save the decision trees in a file

Second, the creation of a full triphone list by HDMan must be done every time new triphones appear in testing data and does not work for cross-word triphones (these are used e.g. in HDecode). My solution for this is simply to synthesize all possible triphones. With the monophone set used by VoxForge acoustic models there is a total of 81315 triphones which translates to about 3.5MB of extra space for the HMM definitions (text form).

A full triphone list can be generated by the script full_list.prl which can be found in the directory samples/RMHTK/perl_scripts which comes with the HTK distribution.

The full triphone HMM generation can be done using HHEd:

Assume the all-triphone list is stored in file xwrd_full_list these are the commands to go into the script file (let's call it synthesize.hed):

LT "trees"
AU "xwrd_full_list"
CO "xwrdtiedlist"

HHEd is run wiht the following parameters:

HHed -T 1 -H hmmdefs -H macros -M hmm_synthesized synthesize.hed tiedlist 

where hmm_synthesized is the directory to store the new files.

 

contradiction whith htk book????
By imene - 4/29/2009 - 2 Replies

 

you said in this tutorial

"You will be using the global.ded script you created in a previous step, confirm that its contents are as follows:

AS sp
RS cmu
MP sil sil sp

"

 

But in htk book it mentioned that the list "fulllist can be generating like that:

 

"

This list can be generated, for example, by using HDMan on the entire dictionary (not just the training dictionary), converting it to triphones using the command TC and outputting
a list of the distinct triphones to a file using the option -n :


HDMan -b sp -n fulllist -g global.ded -l flog beep-tri beep.

"

is the use of the command TC not important in the script global.ded??

HHEd error
By hamid - 3/31/2009 - 1 Replies

Hi,

while I execute this command:

HHEd -A -D -T 1 -H HMM12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

I got this error:

HHEd
 465/465 Models Loaded [5 states max, 1 mixes max]
RO 100.00 ''
 Setting outlier threshold for clustering
 RO->LS stats
  and loading state occupation stats
  ERROR [+5010] InitSource: Cannot open source file stats
  ERROR [+7210] LoadStatsFile: Can't open file stats
 FATAL ERROR - Terminating program C:\cygwin\HTK\htk-3.3-windows-binary\htk\HHEd.exe

can somebody help?

Hamid.

error 7321
By Le Maguer S. - 12/31/2008 - 3 Replies

Hi,

I've got the following error in the HERest command to get hmm14  :

 Processing Data: S0001.mfc; Label S0001.lab
  ERROR [+7321]  CreateInsts: Unknown label d+ay
 FATAL ERROR - Terminating program HERest

 

Does anyone have an idea about the solution ?

 

Thank

getting error in tree clustering
By suhas m - 9/10/2008 - 3 Replies

hi,

while executing  this command, 

HHEd -A -D -T 1 -H hmm14/macros.txt -H hmm14/hmmdefs.txt -M hmm15 tree.hed triphones1 

i got the error

 error [+2663] chkTreeobject:TB only valid for 1 mix daigonal covar models 

 

error in executing HHed
By Divya - 6/18/2008 - 1 Replies

hi,

after i executed the command

HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

i faced an error

TB 350.00 ST_k_2_ {}
 Tree based clustering
  ERROR [+2640]  TreeBuildCommand: TB commands must be in sequence
 FATAL ERROR - Terminating program HHEd

 can somebody help??

about tree.hed
By amza - 4/9/2008 - 1 Replies

Hi,

I am doing a research on Indonesian speech recognition now. I am curious about tree.hed script. Can I get the explanation about tree.hed content, so that I can modify it according to my own language. You can send the explanation to my email (amel_dara@yahoo.com) if it is too long to post here. Thank you so much. 

 

regards,

amza 

Running live HTK
By Tomek - 4/1/2008 - 5 Replies

Hi there!
I've got the following problem: I can't run live recogniser under Windows. Got config from htkbook and HVite returns this:

C:\htk\tutorial>HVite -H hmm15/macros -H hmm15/hmmdefs -C config2 -w wdnet -p 0.
0 -s 5.0 dict tiedlist

READY[1]>
  ERROR [+6320]  OpenAsChannel: IOConfig tgt not a parameter kind
  ERROR [+6316]  OpenBuffer: OpenAsChannel failed
  ERROR [+3250]  ProcessFile: Config parameters invalid
 FATAL ERROR - Terminating program HVite

 

Looking forward for any help! And btw: great tutorial ! GJ !

Cheers!

Tomek 

missing state 2 for b
By kmaclean - 2/26/2008

Lucian said (from this thread):

I realized that this "missing state 2 for b" problem is due to the double chop in HTK_Scripts/mkclscript.prl script, as instructed by the tutorial instructions.

After I change it back to a single "chop;" command, everything works.

This might occur if you are running the "HTK_Scripts/mkclscript.pl" script in Cygwin/Windows.

Ken 

 

Error regarding about the recognizing the Test data
By crystal - 2/19/2008 - 2 Replies

Hi,

Recently i've run this command:

HVite -H model\hmm24\macros -H model\hmm24\hmmdefs -S test.scp -i recout.mlf -w wdnet -p 0.0 -s 5.0 dict monophones

 It gave me this error:

 Warning[-8232] ExpandWordNet: Pronounciation 1 of sp is 'tee' word in HVite

Error[+8521] MovetoRecent: Loop resulted in circular move

Can anyone help me with this, pls... ??

Thanks so much!! 

ERROR IN STEP 10
By rovira74 - 1/21/2008 - 4 Replies

Hi,

I am almost through with this tutorial but step 10 gives  me this error.

HHEd
 465/465 Models Loaded [5 states max, 1 mixes max]
RO 100.00 ''
 Setting outlier threshold for clustering
 RO->LS stats
  and loading state occupation stats
  ERROR [+7251]  LoadStatsFile: unknown name  b at line 1
 FATAL ERROR - Terminating program C:\cygwin\HTK\htk-3.3-windows-binary\htk\HHEd
.exe

I can't figure out what the problem It complains of  the 'stats' file generated in the previous step but the content of this file is the same as ones successfully cpmpleted.

Any help will be appreciated.

 

thanks. 

 

Please help me with this error
By thanhdo - 11/25/2007 - 1 Replies

Hi,

My dictionary have only ten digits (oh, zero, one..., nine) from TIDIGITS database, I don't know if I can use the fulllist in your web site. I tried to use it and I received this error when I run this command in HTK book: 

HHEd -B -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1 > log

       ERROR [+2662]  FindProtoModel: no proto for y-uh+r in hSet

I don't know where is this error comes from and how to fix it, can you help me?

Thanks a lot

Thanh 

Question item
By Manuel - 9/25/2007 - 1 Replies

Hi, when I start

HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

It give me following warning

WARNING [-2631]  QuestionCommand: No items for question R_Silence
 in HHEd
 WARNING [-2631]  QuestionCommand: No items for question R_dd
 in HHEd
 WARNING [-2631]  QuestionCommand: No items for question R_el
 in HHEd
 WARNING [-2631]  QuestionCommand: No items for question R_end

First i believed that I had to add word for this question, but there are question that use phoneme that not exist, why?

For example

QS  "R_dd"                 { *+dd } 

 

Tks

Manuel 

 

Possible error in tutorial?
By Manuel - 9/7/2007 - 2 Replies

In the last step there's the following instruction:

Then execute the HDMan command against the entire lexicon file, not just the training dictionnary we have used thus far (that is why we needed to create a phonetically balanced grammar in Step 2):

$HDMan -A -D -T 1 -b sp -n fulllist -g global.ded -l flog dict-tri ../lexicon/voxforge_lexicon

But this introduce some phonemes that are only in the voxforge_lexicon, not in our dict, so there are no audio file for that.

This situation is the cause of an error when do:

 $HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1

ERROR [+2662]  FindProtoModel: no proto for p in hSet

"p" is only an example of phonemes without audio registration.

I've try to use dict instead of  ../lexicon/voxforge_lexicon, and it work correctly.

I'm wrong?

Thanks

Manuel 

 

Last 2 HERest
By Manuel - 9/7/2007 - 2 Replies

I need only the last instruction to create my acoustic model, but whend I do 

 HERest -A -D -T 1 -T 1 -C config -I wintri.mlf -s stats -t 250.0 150.0 3000.0 -S train.scp -H hmm13/macros -H hmm13/hmmdefs -M hmm14 tiedlist

it give me the following error:

ERROR [+5010]  InitSource: Cannot open source file t+aa
  ERROR [+7010]  LoadHMMSet: Can't find file
  ERROR [+2321]  Initialise: LoadHMMSet failed
 FATAL ERROR - Terminating program HERest

 I understand that it try to open t+aa as file, but it isn't a file, it the first line of tiedlist file.  It's wrong how I use HERest and its parameter?

Can you help me?

P.s. I promise that it's the last time that I ask help to you ... I hope. :D