Android 2.2.1 Nexus one : Voice recognition problem - android

HI Folks,
I have a strange problem for Voice recognition on Google Nexus one phone which
have Firmware:2.2.1.Voice recognition gives multiple interpretations
of the spoken word When I speak "Hello" to the voice recognition,
the results received is "hello, hotels, photos, fomdem, honda"
which is expected to come only "hello"
The same things works fine on Firmware 2.1 which give satisfactory result.
Whats has to be done to avoid this issue.Any Suggestions are helpful
Best Regards,
Vinayak

I can't explain the differnet behavior for different versions, but have you looked at http://developer.android.com/reference/android/speech/RecognizerIntent.html#EXTRA_MAX_RESULTS ?
The intent accepts a Max Results parameter which tells the recognizer how many candidate strings to return to the client. Typically in speech recognition, the client may need to provide the user a disambiguation step (like "did you say "hello" or "hotel"?". If you only want the most likely candidate, set EXTRA_MAX_RESULTS to 1.

Related

Inject audio into voice stream in android

I have an idea to build an android application for dumb people which can be helped to answer phone calls. I thought to convert the text into voice and then transfer through call stream.Is it still not possible to play audio so that other party can hear during a phone call in android platforms
Sorry, the short answer still seems to be no.
I would love to be shown wrong on this.
It seems however that the issue goes back to the hardware level and even when that's exposed, Android isn't coded to take advantage of it.
There's a good explanation here.
Good luck.
All Xperia phones have a built-in Answering Machine. When a call comes..the phone can pickup automatically and answer with a pre-recorded voice message which you can customize any time.may you try with these phones.

speech recognition reduce possible search results

I have started with Speech recognition using android, sl4a and python and so far, it works fine.
My user is just supposed to input numbers between 0 and 9 with his voice. Is there a way to tell android to only search in those number and therefore reduce the time of recognition (and probably errors) ?
No. You cannot change what google returns. You can only process the results.
Fortunately, you can process the results to increase the chance of a match.
For example, you could use a phonetic matching algorithm like
Soundex
Using Soundex or something similar, if the recognizer hears something like "true" your code could still recognize it as the number 2.

offline voice recognization for voice calculator

i am building an application "Voice Calculator" which takes input as a voice and display result based on the input.
i dont want to use a google servers for voice recognization, is there any way through i can achive my goal.
i want to take input as " two plus three multiply four hundred twenty two minus one hundred" etc. so i would like to record and compare every words,
that can be converted in to text and which can be used to perform calculation.
can any one guide me , how to achive this? i am done with designing calculator with its functionality,
i hope i am able to explain my doubt, looking for help.. thank u..
I have used Google API for voice recognition, although I wanted an off-line version, I need to rely on voice recognition.
Have a look at Voice Recognization for android example.
Granted that not many device support it yet, but Jelly Bean will allow you to download Google's voice controls to the device for offline use.

Android Instant Speech to Text voice recognition

I don't have much experience with Android, but was asked by a hearing-impaired friend if there is a way to essentially "stream" voice to text on a mobile device. I've used and looked into the android built in api, but it seems that only sends the speech off for processing after the speech input is completed. I'm looking for something that works contiguously (similar to how Dragon works with microsoft word).
Perhaps there is already an app that does this. If not, is there a way to implement this with the current Android OS/API?
Any suggestions appreciated.
As you've mentioned, the speech-to-text recognition is sent to Google for processing. This can take enormous computing power, which current devices simply can't handle (yet). Because everything is processed server-side, you won't be able to do immediate speech recognition in real time directly on the phone.
It's possible that somebody has created a 3rd-party library to do this, but I'm not aware of any. Even so, it would probably have some significant limitations or reduced accuracy.
You can use this Extra for the Recognizer Intent:
String EXTRA_PARTIAL_RESULTS Optional boolean to indicate whether partial results should be returned by the recognizer as the user speaks (default is false).
http://developer.android.com/reference/android/speech/RecognizerIntent.html#EXTRA_PARTIAL_RESULTS

Voice recognition with android

Hey guys, I was wondering if it were possible to translate audio without having to call a recognizer intent (ie a dialog that says you are recording audio). I want to be able to recover the results of the voice recognition every 2 to 3 seconds or so and plan to use this with a bunch of listviews. Is this possible? If so any ideas? Thanks!
Edit: I forgot to mention that I am playing around with android.speech.SpeechRecognizer but so far, in my implementation of the RecognitionListener interface all I have been able to get from ddms is that there is a client side error. Nothing else seems to be called. Also, is it essential that I implement a RecognitionService? I know that the example in the API is just that. If so, how would I create and use this service? Thanks again.
Speech recognition does not work in the Emulator. You need a device.
I just posted some working code skeleton stuff in another thread -
Voice Recognition Commands Android
The speech recognizer can be triggered every few seconds without UI. You might need to write your own code to decide when is good to record and when is not (you get an audio buffer you could peek through) - or your could do something in your own UI.
I think you could re-trigger it over and over again. Not sure it'd work perfectly but worth a try.
It is impossible in Android < 2.1 and probably in 2.2
When I asked a Google support person, he said, "Maybe you can figure out what packets are being sent and then just make a direct web call"
Wow.

Categories

Resources