Question

I have been looking for several voice recognition libraries that supports android but none of them functions without server call or without using internet. My requirement is to detect some particular keywords and perform some actions accordingly without internet i.e. the keyword analysis should be done locally. So is there any voice recognition library that is capable of doing so. CMU Sphinx is the only toolkit that people say can achieve this but it still needs an algorithm to spot a keyword in a speech.

Was it helpful?

Solution

You can use Pocketsphinx either with a statistical model which you can train on a corpus that reflects the language that the users are likely speak with your app, or you can define a JSGF grammar which explicitly defines the language as a set of context-free rules. In both cases you need to have the acoustic model and the mapping of phonetic symbols to orthographic words. The CMU Sphinx project provides these resources for English and a few other languages.

Once the speech is recognized it becomes a simple string to which you can apply any "spot the keyword" algorithm you wish to apply.

An example of a Pocketsphinx-based Android app that uses JSGF-based speech recognition is Inimesed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top