VoxForge
Hi,
I'm tried to generate voice recognition data for me in spanish. I'm follow the julius guides that appear in VoxForge. First of all, I tried to follow the easy way (the automatic script process), and it didn't work.
Then I take the second way, the manual one.
I have one error in the last step (http://www.voxforge.org/home/dev/acousticmodels/linux/create/htkjulius/tutorial/triphones/step-10). When I execute the following command:
HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1
No HTK Configuration Parameters Set
HHEd
1623/1623 Models Loaded [5 states max, 1 mixes max]
RO 100.00 ''
Setting outlier threshold for clustering
RO->LS stats
and loading state occupation stats
Stats loaded for 1623 models
Mean Occupation Count = 6.460013
TR 0
Adjusting trace level
WARNING [-2631] QuestionCommand: No items for question R_Silence
in HHEd
WARNING [-2631] QuestionCommand: No items for question L_Silence
in HHEd
TR 2
Adjusting trace level
TB 350.00 ST_a_2_ {}
Tree based clustering
Start a[2] : 155 have LogL=-62.895 occ=454.6
[...]
TR 1
Adjusting trace level
AU fulllist
Creating HMMset using trees to add unseen triphones
ERROR [+2662] FindProtoModel: no proto for sp in hSet
FATAL ERROR - Terminating program HHEd
I have no way to run this program (I have tried to make a tree.hed for spanish, may be it's not correct).
I upload with this file my auto directory.
First it gives a warning and at the end, it gives the Fatal error.
The steps that I have followed, more or less have been the following:
HCopy -A -D -T 1 -C wav_config -S codetrain.scp
rm -Rf hmm[0-9] hmm1[0-5]
mkdir hmm0
mkdir hmm1
mkdir hmm2
mkdir hmm3
mkdir hmm4
mkdir hmm5
mkdir hmm6
mkdir hmm7
mkdir hmm8
mkdir hmm9
mkdir hmm10
mkdir hmm11
mkdir hmm12
mkdir hmm13
mkdir hmm14
mkdir hmm15
HCompV -A -D -T 1 -C config -f 0.01 -m -S train.scp -M hmm0 proto
./createhmmdefs >hmm0/hmmdefs
./createmacros > hmm0/macros
HERest -A -D -T 1 -C config -I ../texto_train_spanish_2.01.phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm0/macros -H hmm0/hmmdefs -M hmm1 monophones0
HERest -A -D -T 1 -C config -I ../texto_train_spanish_2.01.phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm1/macros -H hmm1/hmmdefs -M hmm2 monophones0
HERest -A -D -T 1 -C config -I ../texto_train_spanish_2.01.phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm2/macros -H hmm2/hmmdefs -M hmm3 monophones0
cp hmm3/* hmm4
HHEd -A -D -T 1 -H hmm4/macros -H hmm4/hmmdefs -M hmm5 sil.hed monophones1
HERest -A -D -T 1 -C config -I ../texto_train_spanish_2.01.phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm5/macros -H hmm5/hmmdefs -M hmm6 monophones1
HERest -A -D -T 1 -C config -I ../texto_train_spanish_2.01.phones1.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm6/macros -H hmm6/hmmdefs -M hmm7 monophones1
HVite -A -D -T 1 -l '*' -o SWT -b SENT-END -C config -H hmm7/macros -H hmm7/hmmdefs -i aligned.mlf -m -t 250.0 150.0 1000.0 -y lab -a -I ../texto_train_spanish_2.01.words.mlf -S train.scp dict monophones1 >HVite_log
HERest -A -D -T 1 -C config -I aligned.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm7/macros -H hmm7/hmmdefs -M hmm8 monophones1
HERest -A -D -T 1 -C config -I aligned.mlf -t 250.0 150.0 3000.0 -S train.scp -H hmm8/macros -H hmm8/hmmdefs -M hmm9 monophones1
HLEd -A -D -T 1 -n triphones1 -l '*' -i wintri.mlf mktri.led aligned.mlf
/root/lemario/HTK_scripts/maketrihed monophones1 triphones1
HHEd -A -D -T 1 -H hmm9/macros -H hmm9/hmmdefs -M hmm10 mktri.hed monophones1
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
HERest -A -D -T 1 -C config -I wintri.mlf -t 250.0 150.0 3000.0 -s stats -S train.scp -H hmm11/macros -H hmm11/hmmdefs -M hmm12 triphones1
HDMan -A -D -T 1 -b sp -n fulllist -g global.ded -l flog dict-tri ../lexicon/voxforge_lexicon
# create tree.hed
perl /root/htk/htk/samples/RMHTK/perl_scripts/mkclscript.prl TB 350 monophones0 >>tree.hed
cat <<EOF >>tree.hed
TR 1
AU "fulllist"
CO "tiedlist"
ST "trees"
EOF
HHEd -A -D -T 1 -H hmm12/macros -H hmm12/hmmdefs -M hmm13 tree.hed triphones1
Could anyone tell me what is wrong?!?
Thanks in advance.
Hi Ubanov,
Step 10 of the Voxforge Tutorial and Howto use a tree.hed script that contain "questions" are specific to the English language, and therefore will not work with Spanish.
You need to create "questions" for Spanish.
For more information on how to create a tree.hed file for a new language, see the following links:
See also the HTK manual.
Theoretically, you should be able to automatically create questions using the CMU Robust Group Sphinx Tutorial. These would be in Sphinx format, but could be used as a starting point for the creation of HTK questions for a tree.hed script.
The other option is to just use Sphinx for speech recognition in Spanish (since the tutorial script creates your questions automatically...)... until you get a better understanding of how to create your own questions.
Ken
I have created my own tree.hed with questions for spanish, based on a book on phonetics. The error could be generated, because I have make any mistake in the tree.hed script?
The program gives one error about sp phoneme... sil and sp, are common phonemes for all the languages :-D
Thanks in advace
Hi Ubanov,
>I have created my own tree.hed with questions for spanish,
>based on a book on phonetics.
My mistake... I'm not used to people actually reading other posts on the site before posting a question... :)
>The error could be generated,
>because I have make any mistake in the tree.hed script?
I don't think so since you created questions for spanish (but I may be wrong...).
This is interesting. Did you copy the centre state from the sil model in your hmmdefs file and add it to the sp model, as set out in Step 7 Fixing the Silence Model in the tutorial?
If you look in your hmmdefs file (the last one that works...) is there an sp HMM?
Ken
Ken
Hi again,
My fulllist does have the sp phoneme, but now I don't know if I have added this manually when I get the error (because in the file triphones1 it's not this).
After that, I'm going to repeat again all the steps from the beginning, in order to see if I have made any mistake...
When this be done, I will post another msg again...
Thank you very much, for your answers.
Regards,
Ivan
Today, I have reexecuted all the steps again. I have looking all the resulting files, compared all the files that I get with the ones that appear in voxforge, testing the log files of each steps and so on. Now it has worked... may be the other day I make any mistake in any step...
Then I have tested the files with julian, at the end the objetive is to have Speech recognition :-D
It works well if I use the same micro that used when I recorded my samples. If I say something that is not in the grammar (or make some gutural noise :-), julian recognices non-sense things. Is this correct?
Maybe, I'm going to write a simple procedure for creating spanish recognition easy (a guide like the one that exists for english)
Ken, where can I upload the final dictionary (some programs have problems with special characters, like áéíóúñÑ..., and I have changed some things in it)? If I write some procedure, how can I upload it in order to me published in Voxforge?
The next thing that would be necessary is to have more phrases (with more triphones, isn't it?)
Or may I help you in other thing?!?
Thanks in advance.
Thas sounds great!!, please write the procedure!!, I was thinking in do something like that, but I can't find the necesary time and you are moving to much fast, so I prefer to follow you stepts, I then can try to help you in automate the procedure (scripts, programs, etc..). I'm very interesting in try your results...
Pd.: I'm searching for my configs about gnome-voice-control config for spanish support, may be the engine trained wiht a specific voice can be used with gnome-voice-control and have real a control of the desktop...
Cheers and congratulations!!!
Mauricio
Hello buhochileno,
I have write a simple procedure for making spanish training process, and the training. Look at: http://www.voxforge.org/home/forums/other-languages-forums/spanish/new-training-phrases-for-spanish, and try if you can do anything, or if it's needed to update something.
Thanks in advance
Hi Ubanov,
>Ken, where can I upload the final dictionary (some programs have
>problems with special characters, like áéíóúñÑ..., and I have changed
>some things in it)? If I write some procedure, how can I upload it in order
>to me published in Voxforge?
As stated in this post: I created a new Trac repository (http://www.dev.voxforge.org/projects/es) and Subversion repository (http://www.dev.voxforge.org/svn/es/) where I committed your code.
>The next thing that would be necessary is to have more phrases (with
>more triphones, isn't it?)
Yes, but as I stated in this post, you want to target the triphones that are most likely in Spanish, and make sure you have those covered.
>Or may I help you in other thing?!?
Thanks for the offer of help...what kind of things are you interested in doing?
Ken