0

I am trying to use a keyphrase with pocketsphinx, but it keeps throwing the error,

ERROR: "kws_search.c", line 171: The word 'hey' is missing in the dictionary

Even though it is 100% in the dictionary. It is a big part of the dictionary and it recognizes that word fine when I leave the keyphrase out. Am I using it wrong? There isn't a tutorial that I could find. Everything is using python or android.

pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -dict 9063.dic -lm 9063.lm -vad_threshold 3.0 -kws keyphrase.file -infile /dev/stdin

and the keyphrase.file is

hey /1.0/
Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
Mitchell Ingram
  • 686
  • 2
  • 11
  • 23

1 Answers1

2

The correct command line is:

pocketsphinx_continuous -vad_threshold 3.0 -kws keyphrase.file -infile /dev/stdin

you do not need -lm and -dict which configures language model search mode. You need keyword search mode. When you use -dict you replace default dictionary with the dictionary with upper-case words. Words are case sensitive.

Tutorial is here.

Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
  • The difference between lm and keywords is that the latter use threshold to listen continuously and report matches. The former always try to detect something from the lm. – Nikolay Shmyrev Jan 17 '16 at 00:42