Click here to register.

Step 4 - Creating the Transcription Files

Words Level Transcriptions 

HTK toolkit cannot process your prompts file directly.  You have two options, you can create a separate 'label' file for each line your prompts file in the following format:

*/sample1
DIAL
ONE
TWO
THREE
FOUR
FIVE
SIX
SEVEN
EIGHT
NINE
OH
ZERO

Or you can create a Master Label File (MLF) - which is a single file that contains a label entry for each line in your prompts file - this is the easiest approach, and the one we will use for this tutorial.  You can use the HTK script prompts2mlf (you should have already copied this script from the /htk-3.3/samples/HTKTutorial folder to your 'voxforge/HTK_scripts' folder) to generate the mlf file from your prompts file.  Execute the prompts2mlf script from your 'voxforge/manual' folder as follows:

 $perl ../HTK_scripts/prompts2mlf words.mlf prompts

This script generates a words.mlfwords.mlf file.

Phone Level Transcriptions 

Next you need to execute the HLEd command to expand the Word Level Transcriptions to Phone Level Transcriptions - i.e. replace each word with its phonemes, and put the result in a new Phone Level Master Label File  This is done by reviewing each word in the MLF file, and looking up the phones that make up that word in the dict file you created earlier, and outputing the result in a file called phones0.mlf (which will not have short pauses ("sp"s) after each word phone group).

First, create  the mkphones0.led edit script in your 'voxforge/manual' folder:

EX
IS sil sil
DE sp
 

(note: remember to include a blank line at the end of this script)

Then execute the following HLEd command from your 'voxforge/manual' folder:
$HLEd -A -D -T 1 -l '*' -d dict -i phones0.mlf mkphones0.led words.mlf

Which creates the phones0.mlfphones0.mlf file

Next, we need to create a second phones1.mlf file (which will include short pauses (“sp”) after each word phone group).  First create the mkphones1.led in your 'voxforge/manual' folder as follows:

EX
IS sil sil

(note: remember to include a blank line at the end of this script)

Then run the HLEd command again from your 'voxforge/manual' folder as follows:

$HLEd -A -D -T 1 -l '*' -d dict -i phones1.mlf mkphones1.led words.mlf
 Which creates the phones1.mlfphones1.mlf file.


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

How to deal wiht TIMIT prompts,Need Help!
By spring - 12/19/2009 - 5 Replies

Hi,ken

when using perl  script "prompts2mlf" to convert TIMIT prompts to TIMIT trainword.mlf,there are some symbols I wonder How to deal with,such as symbols ","in the middle of the sentence,and symbol "-"between words,also there are symbols "?"in the prompts.As we know ,we will not construct ","model or "-"model or "?"model,but they do exist in my trainword.mlf,how can I deal with them?

question two:

In TIMIT speech audio,one prompt sentence often "read" by different people ,so ,in my trainword.mlf ,should I repeat these prompts ?(Have the same context,but with different file path).

Wainting for you answer:)

VERY IMPORTANT!! I found the error ponts.
By Sugarune - 12/12/2009

I found the error ponts at 2 script line.

HLEd -A -D -T 1 -l '*' -d dict -i phones0.mlf mkphones0.led words.mlf

 

and

 

HLEd -A -D -T 1 -l '*' -d dict -i phones1.mlf mkphones1.led words.mlf

 

change '*' to only *

 

else at step 6

HERest  command will show error about can't find the label file because the title in phone0.mlf and phone1.mlf are wrong.

Believe me, I have structed in this step for 2 weeks, and re-build system from the begining almost 10 times. In my mobile embeded speech recognition system,anything has finished,only speech training module that I couldn't go any further.

Then finally... it successed.  Thanks a lot to all of you who making this system and espectially this tutorial.

Time Stamped Label Files
By chandu - 10/4/2009 - 1 Replies

hello all,

to improve the recognition performance,

i felt that, using time stamped label files would be better.

so, using HSlab, i prepared the label files with time stamps for each of my training sentences. and merged them into an mlf file. and supplied in place of words.mlf. but there is no difference in the final acoustic model.i mean, it was same as before.

so can some one guide me how to use the time stamped label files generated by HSlab, to generate an acoustic model.

and if any one has worked on recognition using HDecode rather than julius, i would apprieciate their guidance.

thanks and regards,

chandu.

mkphones0.led
By Adam - 11/9/2008 - 1 Replies

HERest breaks (first time we reestimate) if this script includes the IS sil sil line in the first script. Perhaps I am incorrect, but I would recommend this modification.

Number as label
By Manuel - 9/3/2007 - 3 Replies

When you execute: 

$HLEd -A -D -T 1 -l '*' -d dict -i phones0.mlf mkphones0.led words.mlf

if you have some number in the word of the file words.mlf this are not recognize as label, for example if I have :

"*/sample1"

1

+

3

HLEd not work, it's ok the follow:

"*/sample1"

ONE

+

THREE

How can I resolve this?

Tks