Is anyone aware of a Keyword Spotting System that is freely available, and possibly providing APIs ??
CMU Sphinx 4 and MS Speech API are speech recognition engines, and cannot be used for KWS.
SRI has a keyword spotting system, but no download links, not even for evaluation. (I even couldn't find anywhere a link to contact them for their software)
I found one here but it's a demo and limited.
CMUSphinx implements keyword spotting in pocketsphinx engine, see for details the FAQ entry.
To recognize a single keyphrase you can run decoder in “keyphrase search” mode.
From command line try:
From the code:
You can also find examples for Python and Android/Java in our sources. Python code looks like this, full example here:
Threshold must be tuned for every keyphrase on a test data to get the right balance missed detections and false alarms. You can try values like 1e-5 to 1e-50.
For the best accuracy it is better to have keyphrase with 3-4 syllables. Too short phrases are easily confused.
You can also search for multiple keyphrase, create a file keyphrase.list like this:
And use it in decoder with -kws configuration option.
This feature is not yet implemented in sphinx4 decoder.