VoxForge
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
Hi Manuel,
The tutorial lexicon does not use "numeric" numbers (i.e. 1,2,3,4, 10, 100, ...). It uses "alpha" numbers (i.e. one, two, three, four, ten, one hundred, ...). The easy to address this is to just use alpha numbers in your grammar.
If you really want numeric numbers in your grammar, you need to add them into your pronunciation dictionary (also called a lexicon). In Step 2, you downloaded the voxforge_lexicon. You need to add the pronunciation for the numeric numbers into the lexicon:
1 w ah n
2 t uw
3 th r iy
4 f ow r
5 f ay v
6 s ih k s
7 s eh v ih n
8 ey t
9 n ay n
0 z iy r ow
0(2) ow
I am not sure if these entries should go at the beginning of your lexicon file or at the end - try it out and see which works.
Then recreate your pronunciation dictionary (dict) as set out in Step 2 (you could also just add these entries directly to you dict file, but these would get overwritten next time you go through Step 2).
Ken
I've modified lexicon file, but it doesn't work, it give me the same error.
I want number and not alpha, so when it recognize a number, it write out a "number", not the respective word.
Tks
Manuel
Hi Manuel:
Did you remove the “alpha” numbers (i.e. One, two, three ...) from the lexicon? It may be that when the speech recognition engine recognizes a series of phones, it returns the first word in the lexicon matching the sequence of phones. Since “one” and “1” have the same phonemes, then the Speech Recognition engine returns “one”, since it comes before “1” alphabetically.
Did you modify you grammar file to have “numeric” numbers?
like this:
% NS_B |
Another approach would be to modify just the return values (i.e. the text in brackets: “[“, “]”) of the alpha number in your lexicon file (rather than adding new entries for “numeric” numbers), like this :
one [1] w ah n
two [2] t uw
three [3] th r iy
four [4] f ow r
five [5] f ay v
six [6] s ih k s
seven [7] s eh v ih n
eight [8] ey t
nine [9] n ay n
zero [0] z iy r ow
zero(2) [0] ow
You would still need to modify your grammr file to use numbers.
Hope these suggestions help!
Ken