Android ASR multi locutors - android

I'm looking for an Automatic Speech Recognition solution for Android that can handle many locutors at the same time. I need a solution that can understand who is speaking what.
For example, if I have two users in front of my app, and if they are speaking at the same time, I need to know who said "YES" and who said "NO". My grammar is very simple, if it helps...
I've already tested both Android Recognizer Intent and implemented SpeechRecognizer, so I can already recognize the words, but I cannot associate them to specific locutors.
By the way, If you know this kind of solution for other platforms such as iOS or web-based app, I'll take it as well :).
Thank you.

Related

Android App with HTML/CSS/jQuery. [How] Can it be done?

I know this has been asked before (did not find a straight forward answer) but can I (Or how can I) create and Android App using CSS/HTML/Jquery ?
I will not need to hook into native functions, such as the accelerometer, camera, or even the Toast Messages...I only need to create an app to show a list of names and some details when name is selected, therefore I don't know if it's worth learning to make my life more complicated for something like this.
PS: I need the app to work offline, otherwise I would have just made it with jQuery Mobile and uploaded it on a server.
UPDATE AFTER GETTING DOWNVOTED
Ok, so I get downvotes for this question, probably because it's been asked before, or maybe not, since he/she didn't take the time to write a reason...
Anyway, my point is: I did googled it and searched, but at this moment there are a lot of ads of websites and web apps that will help you do this BUT are they reliable, safe..do they really do the trick or it comes with bugs? That is why I asked the question, to see who used what and what was their experience with it. So yeah, you can downvote me for not trusting every ad and not taking the time to try out everything out there!
Well you can use https://software.intel.com/en-us/html5/tools to develop cross-platform apps. I used it to develop too. It is quite good but it only has one major issue: you can't use php. It also enables you to do on-device testing.

Pocketsphinx VS Google Speech Recognition API

I am building a speech recognition android app that will act as a virtual personal assistant with tasks such as:
Make appointments/Reminders
Weather Info
General queries to Wolfram|Alpha / Wikipedia - (i.e Who directed Ghostbusters, whats the £-$ Exchange rate)
My question is wheather to use Pocketsphinx or the Google API?
Originally I set this up with "android.speech.RecognitionListener", worked great, however I want to implement Keyword spotting so the user doesn't need to have any interaction other than just speaking.
Apparently Google API doesn't support this, so I looked into using pocketsphinx for this, and still using google for the rest of the app (As I heard pocketsphinx is not as accurate?)
However the two don't get along as they can't both occupy the microphone at the same time.
Is there a nice way to switch between recognizers? (cant even import both to same project)
Should I just go with pocketshinx and deal with the lower accuracy?
Suggestions would be helpful
Cheers
For anybody who wants to implement a similar project, I have found a work around. It's abit hacky and not entirely clean, but it works.
Using the android speech recognizer with a toggle on/off switch like in many examples across the web, when onResults comes back, the string will be checked for said "hotword", if it is not present, discard the string, if it is, process it. Once the query has been processed and the text to speech is responding, programatically reclick the toggle button, ensuring constant listening.
Do the same on "onError" as well.
I did also have it onPartialResults as well, but it appeared to make the thread crash, not entirely sure why but once it was removed everything seems to work nicely.
You can use pocketsphinx only to recognize predefined set of commands due to really poor accuracy (you should prepare your own dictionary and language model). Also pocketsphinx can be used offline and it is a big cons for some project.
In other hand google is very accurate but it's not free and works only online.

is there a way to register an intent that reacts to specific voice searches?

Based on this answer:
Android - Intent for custom voice action
I see that what I'm looking for doesn't appear to exist yet (though if it now does, I'd LOVE to know how to use it).
Can anyone in the know (at Google) chime in with whether such functionality is in the works? Specifically, the ability to register your app in an Intent(ish) way to bind to specific voice keywords, so that when the voice recognition engine hears "MY SPECIFIC KEYWORD" it knows to offer the user my app as an end point to handling the rest of the voice request.
TIA
Short answer: Nobody knows.
It's a little bit strange to use StackOverflow for ETA on future Android releases.
Since 2007, None of the Android feature or API as been announced before the official release!
So, the answer to your question is simply: No, there is no chime about such features in the works, and if it was the case, this does not belong here.

Implementing voice recognition in android

i have used the code provided in this link for the speech recognition. in emulator it is saying recognizer not present,so i installed it on mobile. when i click on speak button it is working. but when i speak some names "rajesh" it is showing some possible verbs and all but not the name. but i want to use the input to select a contact from the address book in order to make a call . so please tell me how to carry on in this direction. one more thing, every time i need to develop the code in eclipse then install it on mobile and then check for output. is there any alternative to edit and check the app code in the mobile from eclipse.
please provide me any possible links. i want to develop a call app for blind,if the voice recognition does not work, what else could be done to take input from the user.
Names are hard for Speech recognition. There are more possible names in the world than words in any dictionary, so being able to recognise any arbitrary name is hard. Though common names are easier.
Anyway, if you want to recognise a customized list of words/names, You might want to look at Dragon Mobile from Nuance. Here is a copy-and-paste from another similar question I answered:
If you use 3rd party Android recognition from Nuance (The people behind DragonDictate), it supports a "grammar mode" where you can somewhat restrict the phrases that will be recognised during recognition.
Importantly, if you add unusual names into a Custom Vocabulary, they SHOULD become recognizable (Complex pronunciation issues aside).
You can find information if you dig through:
http://dragonmobile.nuancemobiledeveloper.com ,
looking for 'Custom Vocabularies'. Grammar mode is essentially a special mode of custom vocabularies.
At the time of writing, there was a document here that makes some mention of grammar mode:
http://dragonmobile.nuancemobiledeveloper.com/downloads/custom_vocabulary/Guide_to_Custom_Vocabularies_v1.5.pdf - It only really becomes clear when you try to progress in their provisioning web GUI.
You have to set up an account, and jump through other hoops, but there is a free tier. This is the only potential way I have found to constrain a recognition vocabulary.
Well, short of running up PocketSphinx, but that is still described as a 'Research' 'PreAlpha'.
No, I don't work for Nuance. Not sure anyone does. They may have all been eaten by zombies. You would guess as much reading their support forums. They never reply.

Seek for help about Android Programming

I want to know how to control system resources and services like bluetooth, SMS, phone contacts etc.
Honestly, i want to know how or what to do to control sms usage based on user behavior, block incoming call or change it to auto vibrate mode without user noticed like that.
Actually, I want it for my assignment about context aware access control paper.
I choose Android for implementation but i am afraid i
couldn't submit my paper in time if i study android from the beginning and all by myself.
No offense but I want to avoid errors.
I feel my head becomes swollen whenever "force close error" show as I need it urgent.
As Willytete said developer site is the best one for you
There you can find
Application Fundamentals
Download the Android SDK and start programing
The first program tutorial where you can start Hello World
Notepad Tutorial where it give you a lot of ideas
List of Sample Apps, where there is a lot of codes
Getting the Samples, it explain how to use this.
You will get all the information from developer site that you needed, while move from beginner to an expert

Categories

Resources