Android Jelly Bean offline Voice query - android

Just a query
I made an voice command app for Android 2.3.x.
This app takes voice commands and converts into text and perform the required action.
Now I have device having jelly bean.
As jelly Bean introduces a new conversational text-to-speech voice in US English, available as both a network engine and an embedded engine via the TTS API.
If I have build this app with jelly bean and install in new device, will it work fine ??
will it uses offline voice-to-text automatically.
Please reply

As per my knowledge android uses two different APIs for voice.
1.Voice typing i.e. key on keyboard
2.Voice Recognition i.e.Typing anywhere
Voice typing is enabled offline and voice recognition is not (for 4.1 JellyBean).
This is why the key in the keyboard works offline, but nowhere else does.
For more info read this.

Related

running Google speech locally with no external server?

just not to miss out, is there a way to run Google speech locally without having to go to Google server-- without even an internet connection?
Google speech API, Using Google Speech API, Android: Speech Recognition without using google server and several other resources say/hint "no".
this will be for voice to text. my input is the speech from the microphone, output is that speech in text.
Note: i'm aware of Sphinx among some other speech recognizers. i'll bring it up in another Q. this Q is out of interest in Google-speech for performance reasons.
TIA.
//---------------------------------------
EDIT: i'm looking for something that also runs on desktop-- Windows and not just on Android.
The user can download an offline speech recognition package, jellybean (API 16) only. Currently at least 9% of devices are less than API 16 and therefore will not be compatible with your application. In addition to the 9% some devices do not have offline speech recognition enabled due to hardware constraints.
Please note that offline speech recognition is likely to be a battery and processor expensive feature.

Jelly bean offline speech recognition can it be used it in system (PC) with emulator?

I just was wondering is it possible to use the android jelly bean's offline speech recognition in the system? like I install the android virtual emulator then install jelly bean download offline speech recognition and then any way I can use it that from my pc. like I do some proxy work any thing and can it be used with notepad/text editor of applications in the desktop? I know desktop app's wont support text input. but I just wanted to know any way I can get that speech recognition out of that emulator to be used in PC ??
Thanks for the answers !!
I don't know if its possible, but I doubt it based on the hardware and software setup requirements for offline speech rec in Android (the answer here hints that it doesn't always work easily on devices Offline Speech Recognition In Android (JellyBean)).
However, if you are trying to do offline PC voice commands, Windows Speech Rec Macros may be an option.
See this article: http://lifehacker.com/391884/control-your-pc-with-your-voice

Text to Speech not working in Android 4.2 Jelly Bean

We added voice prompts to our app using the Text to Speech API a couple years ago and it has been working well. Recently, we started receiving email from users that upgraded to Android 4.2 Jelly Bean saying that voice prompts are not working and that they are getting a message that the voice data is missing and they need to download it. When they click to download they are given the option of downloading languages other than English.
We implemented text to speech following this post on the Android Developer's Blog. We are invoking the TextToSpeech.Engine.ACTION_CHECK_TTS_DATA intent and if anything other than TextToSpeech.Engine.CHECK_VOICE_DATA_PASS is returned we invoke the TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA intent.
We don't have access to a device running 4.2. I went into a local store today and downloaded the app on a Nexus 7 tablet with 4.2 installed and was able to reproduce the problem. However, when we create an AVD based on the Nexus 7 and run the emulator the voice prompts work fine and we are not able to reproduce the issue.
TTS checking with Android OS4.1 and OS 4.2 is, being polite, different.
OS 4.1 does not correctly handle the intent to install data*
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA
OS 4.2 does not correctly handle the intent to check for voice data*
TextToSpeech.Engine.ACTION_CHECK_TTS_DATA
* By this I mean that it doesn't return the correct status codes as per the old versions. For example, CHECK_TTS_DATA returns CHECK_VOICE_DATA_MISSING_DATA when it clearly does have voice data installed. It's possible that there is some other intent data that now needs to be passed, but I'm not sure where this is documented.
In my apps I have had to disable these checks for newer OS versions. I suspect Google may have done this because their terms to use Android now mandate TTS (but I can't verify this - I'm sure there's a site out there that describes exactly what must be implemented to be called 'Android')
Update
As I suspected, Android OS 4.1 now mandates Text-to-Speech be included in every Android device, thus the checks are now somewhat redundant. From this link: Android 4.1 Compatibility Definition
3.11 Text-to-Speech
Android 4.1 includes APIs that allow applications to make use of text-to-speech (TTS) services, and allows service providers to provide implementations of TTS services [Resources, 32]. Device implementations MUST meet these requirements related to the Android TTS framework:
Device implementations MUST support the Android TTS framework APIs and SHOULD include a TTS engine supporting the languages available on the device. Note that the upstream Android open source software includes a full-featured TTS engine implementation.
Device implementations MUST support installation of third-party TTS engines.
Device implementations MUST provide a user-accessible interface that allows users to select a TTS engine for use at the system level.

Use offline voice-to-text in Android 4.1 (Jelly Bean) from my application?

Android 4.1 includes offline voice typing. You can see this when you click the microphone on the pop-up keyboard, it still works if you have no network connection. However, it looks like the RecognizerIntent API still ends up requiring a network connection when you want to do speech recognition from your app.
Is there an API for accessing new the offline voice typing feature in Android from my app?
Android uses two different APIs for voice: voice typing (key on the keyboard) and voice recognition (everywhere else).
Voice typing is enabled offline and voice recognition is not (for 4.1 JellyBean).
This is why the key in the keyboard works offline, but nowhere else does.
For some reason Google decided to make these two separate APIs.
See here for more info on voice typing:
http://android-developers.blogspot.com/2011/12/add-voice-typing-to-your-ime.html

Converting speech to text

I have already gone through the sample code present in the Android SDK. It tells that you should have voice recognition APK in your device. I tried a lot but could not find any apk. Can anyone suggest which voice recognition APK to install to get voice recognition. My device is a Samsung Galaxy.
Update:
According to this article, Google Voice Search is what you actually need.
The Android SDK makes it easy to integrate speech input directly into your own application—just copy and paste from this sample application to get started. Android is an open platform, so your application can potentially make use of any speech recognition service on the device that's registered to receive a RecognizerIntent. Google's Voice Search application, which is pre-installed on many Android devices, responds to a RecognizerIntent by displaying the "Speak now" dialog and streaming audio to Google's servers—the same servers used when a user taps the microphone button on the search widget or the voice-enabled keyboard. (You can check if Voice Search is installed in Settings ➝ Applications ➝ Manage applications.)
I've used the sample of STT without problems. How they said previously, you have to download it from the Market.
Regards

Categories

Resources