Continuous Speech Recognition Android

I am looking at doing speech recognition in android. The program needs to have continuous speech recognition. The library only needs to be about 10 words. I have considered using Googles api, but I don’t think it will work. (I cannot have anything covering the screen). I have been looking into other ways but nothing seems like it will work. Is it possible to use java’s speech recognition library, or is there any other way of going about this?

In summary
1. Need continuous speech input
2. 10 words at max
3. can train if necessary
4. overview of program – display screen, wait for voice input or touch input, update screen repeat
5. cannot cover what is being displayed on the screen

  • android- How to make step by step wizard
  • SQLite Database “context” passed to adapter
  • Use android.R.layout.simple_list_item_1 with a light theme
  • How can I generate an apk that can run without server with react-native?
  • Getting a directory file and the ClassLoader for a libGDX Android game
  • Is there an Android based Google Glass Emulator?
  • Any help would be appreciated.
    Thanks in advance

    Related posts:

    Android ListView addHeaderView() nullPointerException for predefined Views defined in XML
    FM radio app for Android
    android, how to exec a sql file in sqlitedatabase
    Gravity and layout_gravity on Android
    onPause() and onStop() in Activity
    Unable to instantiate receiver in BroadcastReceiver SMS
  • programmatically set “Layout to right of” property in android
  • How to make widget of running application in android?
  • Concatenate mp4 files in Android using halfninja ffmpeg
  • Transparent background in ImageButton with ripple effect?
  • Android widget not showing up on the list after developed
  • How to call stopservice() method of Service class from the calling activity class
  • 4 Solutions collect form web for “Continuous Speech Recognition Android”

    Here’s Oracle’s explanation of Java Speech API Frequently Asked Questions.

    I think you would have to capture audio directly from the phone’s microphone and stream it to your own recognition service. The Google recognition APIs are built as an Intent that launches their own Recognition dialog and gives you back results. If you want continuous recognition without a UI, you’ll have to build that functionality yourself.

    CMUSphinx has recently implemented continuous listening on Android platform. You can find the demo on the wiki page

    You can configure one or multiple keywords to listen to, the default keyword is “oh mighty computer”. You also can configure the detection threshold. Currently supported languages are US English and few others (French, Spanish, Russian, etc). You can train your own model for your language.

    Listening is simple, you create a recognizer and just add keyword spotting search:

        recognizer = defaultSetup()
                .setAcousticModel(new File(modelsDir, "hmm/en-us-semi"))
                .setDictionary(new File(modelsDir, "lm/cmu07a.dic"))
        recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE);

    and define a listener:

    public void onPartialResult(Hypothesis hypothesis) {
        String text = hypothesis.getHypstr();
        if (text.equals(KEYPHRASE))
          //  do something

    Instead of single key phrase you can specify a commands file path on a filesystem:

        recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir,

    Which commands file commands.lst containing commands one per line:

      oh might computer
      ok google
      hello dude

    To put this file on filesystem you can put it in assets and run syncAssets on application start.

    Here is another way (if you are planning to use Phonegap/Cordova).

    1) It listens continuously.

    2) Does not display (occupy) on screen.

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.