Reputation: 157
More specifically, is it possible for an non-android Java application to use android's speech recognition. I figured I could use cmu sphinx or something similar, but the whole sending voice input to a server that does the real recognition and returns an array of strings seems to be much easier to set up an reduces the size of the project. Also, if this is possible, the project will be able to use Google's (ginormous) speech corpus.
Upvotes: 1
Views: 1237
Reputation: 13297
From that thread:
I don't know if the Android sources are available, but Google did upgrade Chrome to include speech recognition and those sources are available. I don't think that Google wants people to call this service directly, and it likely violates some terms of service somewhere if you do, but check out http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/ to see the service behind Chrome speech recognition which I suspect is similar to Android.
As that article says:
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/speech/
It looks like the audio is collected from the mic, and then passed via an HTTPS POST to a Google web service, which responds with a JSON object with the results. Looking through their audio encoder code, it looks like the audio can be either FLAC or Speex- but it looks like it's some sort of specially modified version of Speex- I'm not sure what it is, but it just didn't look quite right.
Also, see Google's voice search speech recognition service - it might have some useful links to information.
Alternatively, there are commercial speech recognition services available see http://yapme.com/speech-cloud.html, Nuance, http://www.ispeech.org/developers, and others listed at Server-side Voice Recognition.
Upvotes: 0
Reputation: 1006869
More specifically, is it possible for an non-android Java application to use android's speech recognition.
No. AFAIK, it is not open source.
Upvotes: 3