I want to develop an Speech recognizer in android, which should work in offline. As the android's built-in speech recognizer uses google server which needs internet, i want an alternative which works in the absence of internet.
Please suggest me some way to achieve the above feature.
You're not going to be happy with this workaround but here goes: Record the speech & store it for later. When an internet connection is available, connect to the internet, playback the recorded speech and convert it to text.
Hey, it's the easiest way I can think of and might work for some applications, like dictation and memos.
If you really want to invest time and manpower for your goal, look at the Java-Project Java Speech API 2.0 (JSR 113).
It is used on "normal" mobile phones for voice commands and works offline. Unfortunately, the project is discontinued.
If the speech recognizer has limited vocabulary (as in a simple voice user interface) and is limited few samples - it maybe possible. Applications such as Transcription is not a likely task to be performed on Android (in offline mode). Also DSP is required for Voice Recognition ... A limited vocabulary and limited to very few samples might be your best bet.
You can download Google voices for later use. From you mobile -> Setting -> “Language and Input” -> "Voice Search" -> "Download offline speech recognition" -> Choose the language pack .
Or you can use other programs, such as Dragon Mobile Assistant https://play.google.com/store/apps/details?id=com.nuance.balerion&hl=en
Pocketsphinx can run on Android. See
CMU Sphinx (at SourceForge)
The code is currently can be checked out from subversion (its better to use subversion and not to download snapshots), it's very easy to use it, just import the project into eclipse and run it on your device:
CMU Sphinx: Pocket Sphinx Android Demo
You can find a tutorial with the details here:
CMU Sphinx: Pocket Sphinx Android Tutorial