4 ms·
I haven't written anything up yet. To summarize, I use the standard acoustic model (hub4wsj_sc_8k) with a combination of keyword activation and a fixed grammar
by dnr 12y ago
I haven't written anything up yet. To summarize, I use the standard acoustic model (hub4wsj_sc_8k) with a combination of keyword activation and a fixed grammar (in jsgf format). It's normally listening for a wakeup keyword, and when it find one, switches into grammar mode until it hears a complete utterance, or times out, then switches back to keyword mode. It works pretty well, though tuning the keyword sensitivity is annoying.
The pocketsphinx-specific code is actually quite simple:
https://bitbucket.org/davidn/dom/src/default/listen/listen.c https://bitbucket.org/davidn/dom/src/default/listen/listen.c
You can see the keyword and jsgf files in that directory, for reference. The pronunciation dictionary is generated from one of the standard dictionaries, selecting just the works present in the grammar.
Note: If you look in the whole directory, there's a mix of decent code and ugly hacks in there, and I didn't make any attempt at making it customizable. It's just for me. Btw, it all runs on a raspberry pi.
- frik 12y agoThanks! Btw. their probabilistic parser (http://goo.gl/rRdRx4 http://goo.gl/rRdRx4) might be useful for your project: "wake me up the first Friday of February 2014 at 7am" Great to hear that RaspberryPi (and Python) is fast enough for it.