2

CMU Sphinx comes with a large vocabulary of English words. that is fine however I want to emphasize certain words which I will be using as commands. some of these words are not English words. how can I make sure that Sphinx can understand both my special command keywords and the rest of the English dictionary words? how can I make sure that my special command keywords take precedence over the rest of the English vocabulary?

Using sphinx, there is a call that I have attempted to use for this purpose:

ps_add_word(ps, "OKAY", "OW K EY", 1);

However all of the words that I add this way appear to not be recognized any more frequently and any other word.

barryhunter
  • 20,886
  • 3
  • 30
  • 43
yeeeeee
  • 21
  • 3
  • This question doesn't appear to be about programming. If it is, could you edit it to make it more apparent? – Brian J Nov 13 '15 at 21:51
  • Okay I added the code to make it more clear that this is a programming question – yeeeeee Nov 14 '15 at 00:54
  • That looks like a good addition. Not knowing much about sphinx, is that last parameter maybe a weight for the word? As in, making it higher or lower makes the word more or less likely to appear? – Brian J Nov 14 '15 at 01:27
  • no its a bool telling sphinx to update the dict – yeeeeee Nov 14 '15 at 02:50

1 Answers1

0

It is not possible in runtime at the moment. You have to add the word to some grammar/language model. You can find more details about language models in CMUSphinx tutorial:

http://cmusphinx.sourceforge.net/wiki/tutoriallm

You can also read advanced LM tutorial to understand how to update current language model

http://cmusphinx.sourceforge.net/wiki/tutoriallmadvanced

Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
  • 1
    okay, So long as I can automate the LM rebuild process from within my program, that should be fine. – yeeeeee Nov 16 '15 at 00:23