When I use multi Pronunciations for dictionary words in pocket sphinx it
always gives NULL as a recognition result, while if I add them as different
words they are recognized correctly. Any clue?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
suppose I have two different Pronunciations p1 and p2 for word w. By default I
add them to the dictionary like this:
w p1
w(1) p2
(two Pronunciations for the same word as in sphinx format) in this case when I
utter p1, w is returned but when when I utter p2 NULL is returned by the
recognizer.
if I put them in the dictionary like this:
w p1
w1 p2
(two different words). when I utter p1 w is returned and when I utter p2 w1 is
returned.
My question is: why the NULL in the first case.
I am using pocketsphinx version 7 (the latest)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-12-01
Hi,
To add to this, I am seeing a similar issue with FSGs, when querying the
hypothesis during recognition. What I see is hypothesis that should not be
allowed from the grammar, basically missing a word. It only happens on words
that have several pronunciation alternatives. I have been trying to set up a
reproduce-able test case using pocketsphinx_continuous, but failed to
reproduce it so far.
I do not see this issue in the final recognition (after 2nd pass), and do not
see it if all words have only one pronunciation.
I'll post again if I can set up an environment to reproduce the issue.
Sylvain
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Aargh. Brain freeze. Scratch that. Starting with (2) is just "tradition",
because the first pron doesn't get a number. It doesn't care if the alts start
with (1) or (2).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When I use multi Pronunciations for dictionary words in pocket sphinx it
always gives NULL as a recognition result, while if I add them as different
words they are recognized correctly. Any clue?
Sorry, it's hard to understand your short description.
Please provide an example to reproduce your problem.
Please provide more information. What pocketsphinx version are you using.
suppose I have two different Pronunciations p1 and p2 for word w. By default I
add them to the dictionary like this:
w p1
w(1) p2
(two Pronunciations for the same word as in sphinx format) in this case when I
utter p1, w is returned but when when I utter p2 NULL is returned by the
recognizer.
if I put them in the dictionary like this:
w p1
w1 p2
(two different words). when I utter p1 w is returned and when I utter p2 w1 is
returned.
My question is: why the NULL in the first case.
I am using pocketsphinx version 7 (the latest)
And what grammar or language model do you use
simple jsgf grammer:
JSGF V1.0;
grammar words;
<main> = w; //in first case of dictionarypublic
public <main> = w | w1; //in second case of dictionary </main></main>
Sorry, I can not reproduce your problem. You can get my test here
http://dl.dropbox.com/u/26073448/test-
multpron.tar.gz
Hi,
To add to this, I am seeing a similar issue with FSGs, when querying the
hypothesis during recognition. What I see is hypothesis that should not be
allowed from the grammar, basically missing a word. It only happens on words
that have several pronunciation alternatives. I have been trying to set up a
reproduce-able test case using pocketsphinx_continuous, but failed to
reproduce it so far.
I do not see this issue in the final recognition (after 2nd pass), and do not
see it if all words have only one pronunciation.
I'll post again if I can set up an environment to reproduce the issue.
Sylvain
It's the probably the (1).
Sphinx requires the alt prons to start at 2.
w p1
w(2) p2
Also, make sure your editor is not expanding tabs into spaces (thanks loads,
Apple!) because spaces are parts of words.
w(2)<space>p2 creates a word "w(2) p2" without a pron
w(2)<tab>p2 creates an alt pron for w, with the pron p2.</tab></space>
Aargh. Brain freeze. Scratch that. Starting with (2) is just "tradition",
because the first pron doesn't get a number. It doesn't care if the alts start
with (1) or (2).
Aside from checking for spaces, I'm running out of ideas. Two things, but
they're longshots.
Make sure you're not changing the -fsgusealtpron parameter (the default is
"yes" already)
Watch your recognizer output and see if you get something like this in the
output:
INFO: fsg_model.c(325): Adding alternate word transitions (word,word(1)) to
FSG
INFO: fsg_model.c(358): Added 1 alternate word transitions
INFO: fsg_search.c(364): Added 1 alternate word transitions