Speech Recognition Engines

Flat
Re: converting .wav to .mfc using HCopy in HTK
User: dsubbu
Date: 6/10/2009 11:31 pm
Views: 117
Rating: 2

hi Ken,

So, here is my understanding of the solution:

Though our training has been done on MFCC_0_D_N_Z format and we can only create MFCC_0_D format files for our testing data using HCopy, the configuration file used by HVite automatically makes the model and the test data compatible.

Is this correct?

Also, I could run HVite without any errors :D though the recognition was very poor(like pauses getting filled with words.. i hope to understand why and how to improve this).

I can also hopefully do some adaptation and compare.

Thanks a lot for your help! Really appreciate it :)

--- (Edited on 6/10/2009 11:31 pm [GMT-0500] by dsubbu) ---

Re: converting .wav to .mfc using HCopy in HTK
User: kmaclean
Date: 6/14/2009 9:12 pm
Views: 58
Rating: 2

>Though our training has been done on MFCC_0_D_N_Z format and we

>can only create MFCC_0_D format files for our testing data using

>HCopy, the configuration file used by HVite automatically makes the

>model and the test data compatible.

>Is this correct?

Yes, that is what it seems to be doing... but if you want official confirmation, the best place is to ask in HTK email list (or search the archives).

Ken

--- (Edited on 6/14/2009 10:12 pm [GMT-0400] by kmaclean) ---

Re: converting .wav to .mfc using HCopy in HTK
User: tpavelka
Date: 6/15/2009 2:40 am
Views: 60
Rating: 3

Hi, I have encoutered the same problem and it took some time for me to figure it out. The problem is the _N qualifier: there is a line in HCopy.c that tests whether you are saving to a file and use the _N qualifier at the same time, it looks like this:

if (GetConfStr(cParm,nParm,"TARGETKIND",buf)) { tgtPK = Str2ParmKind(buf); if (tgtPK&HASNULLE) HError(1019, "SetConfParms: incompatible TARGETKIND=%s for coding", buf); }

What it means is that if you use the _N (the constant HASNULLE corresponds to _N) qualifier, you cannot save to a file (I have no idea why it is not allowed).

So the solution is either to use two configs, one that creates mfcs with MFCC_O_D (resp. MFCC_O_D_Z is possible as well) and a second one that you supply to HVite with targetkind MFCC_0_D_N_Z.

Or you could just use the config from your third post, but give it to HVite and load wavs directly without creating the mfcs.

As for the recognition errors you have I don't know, this could be due to many different reasons. I would have to see all your config and input files.

--- (Edited on 15.06.2009 09:40 [GMT+0200] by tpavelka) ---

Re: converting .wav to .mfc using HCopy in HTK
User: Visitor
Date: 6/15/2009 4:40 am
Views: 40
Rating: 1

@tpavelka: thanks for that!

and I hope to get the grip of how to train, decode and adapt first before concentrating on accuracies. I'll post if I run into problems. Thanks for the help again.

--- (Edited on 6/15/2009 4:40 am [GMT-0500] by Visitor) ---

Re: converting .wav to .mfc using HCopy in HTK
User: dsubbu
Date: 6/16/2009 4:48 am
Views: 39
Rating: 1

Hi,

I followed the tutorial on speaker adaptation and managed to do supervised adaptation of the SI model from the voxforge repository. The results showed significant improvements compared the unadapted model.

Next, I attempted to do unsupervised adaptation using HVite and the same set od data to compare the 2 scenarios. When I ran this command, I got the following errors though I have specified the list of HMMs in the tiedlist

____________________________________________

>> /home/user/htk/bin.linux/HVite -S adapt.scp -H hmmdefs -H macros -K trans.tmf -k unknown mllr -j 1 -i results -w wdnet dict tiedlist
  ERROR [+3219]  HVite: HMM list  file name expected
 FATAL ERROR - Terminating program /home/user/htk/bin.linux/HVite
____________________________________________

when i run it without the -k, i get this message

___________________

>>/home/user/htk/bin.linux/HVite -S adapt.scp -H hmmdefs -H macros -K unsupervisedAdapt mllr -j 1 -i results -w wdnet dict tiedlist
  ERROR [+3219]  HVite: User identifier expected when saving a TMF
 FATAL ERROR - Terminating program /home/user/htk/bin.linux/HVite
__________________

can anyone pl. tell me what I am doing wrong here and how to use HVite to do unsupervised adaptation?

@tpavelka: i think i have gotten around the terrible recognition results problem here(or atleast it appears so)

thanks in advance

Cheers!

--- (Edited on 6/16/2009 4:48 am [GMT-0500] by Visitor) ---

Re: converting .wav to .mfc using HCopy in HTK
User: tpavelka
Date: 6/16/2009 5:06 am
Views: 31
Rating: 1

Hi,

I had similar problems with figuring out how to run the adaptation. You can find my solution + discussion here.

--- (Edited on 16.06.2009 12:06 [GMT+0200] by tpavelka) ---

Re: converting .wav to .mfc using HCopy in HTK
User: tpavelka
Date: 6/16/2009 5:49 am
Views: 28
Rating: 1

Oops, sorry, I just noticed you already have the supervised part figured out. Unfortunatelly I haven't tried unsupervised adaptation so I can't help there.

--- (Edited on 16.06.2009 12:49 [GMT+0200] by tpavelka) ---

--- (Edited on 16.06.2009 12:49 [GMT+0200] by tpavelka) ---

Re: converting .wav to .mfc using HCopy in HTK
User: dsubbu
Date: 6/16/2009 5:51 am
Views: 102
Rating: 1

Hi tpavelka,

These commands present in that thread caught my eye immediately

__________________________________________

HERest -C $config -C scripts/config.global -S $trainlist -I MLF/aligned.mlf -H $hmmdir/$dir/macros -u a -J $hmmdir/classes -K $hmmdir/xforms mllr1 -H $hmmdir/$dir/hmmdefs -h *\\%%%%*.mfc tiedlist

HERest -a -C $config -C scripts/config.rc -S $trainlist -I MLF/aligned.mlf -H $hmmdir/$dir/macros -u a -J $hmmdir/xforms mllr1 -J $hmmdir/classes -K $hmmdir/xforms mllr2 -H $hmmdir/$dir/hmmdefs -h *\\%%%%*.mfc tiedlist

___________________________________________

Since there are MLF files present for the adaptation data, it becomes supervised adaptation right?

the HTKbook says that the HVite tool must be used for unsupervised adaptation(i.e. where the adaptation data does not have transcriptions or prompts).

So, my question is how to use HVite for this purpose. I had tried to do it a lot of times but ended up with the error messages I showed in my earlier post.

If anyone has done experiments on this(using HVite for unsupervised adaptation) before, it would be great if you could share the course of action followed. Thanks a ton!

Cheers!

--- (Edited on 6/16/2009 5:51 am [GMT-0500] by Visitor) ---

Re: converting .wav to .mfc using HCopy in HTK
User: nsh
Date: 6/16/2009 6:22 am
Views: 119
Rating: 1

what version are you using exactly. it doesnt look like 3.4.1

--- (Edited on 6/16/2009 6:22 am [GMT-0500] by nsh) ---

Re: converting .wav to .mfc using HCopy in HTK
User: dsubbu
Date: 6/16/2009 6:40 am
Views: 112
Rating: 1

Hi,

im using 3.2.1 for this set of experiments because the adaptation tutorial in the website uses that.

Cheers!

--- (Edited on 6/16/2009 6:41 am [GMT-0500] by Visitor) ---

PreviousNext