Android has a really marvelous voice recognition feature built into google translate. As far as I can tell, this is the only app that offers you the ability to speak in a foreign language, and have the app transcribe what you said (and subsequently translate it to another language).
I'm curious if anyone knows how one might leverage the voice recognition lib and utilize it for things other than translation. Specifically, I want to be able to dictate text for email. I googled around a bit, but was unable to find anything. Curious if this functionality is exposed to the wider developer community (like most everything else under the Google roof).
TIA
I think this is as close an answer as I'm going to find.
http://developer.android.com/reference/android/speech/RecognizerIntent.html#ACTION_GET_LANGUAGE_DETAILS
Related
My goal is to develop an Android app to record telephone call audio (incoming and outgoing calls). Not VoIP, not SIP, not anything else.
IMPORTANT: I will not create an app that relies on workarounds, rooting devices and/or hack it in any way, shape or form.
Surely enough, I also expect to sell this app on Google Play store. In other words: all by the book.
As far as I learned from the documentation (https://developer.android.com), the way to capture phone call audio is by using MediaRecorder with audioSource set to VOICE_CALL. This audio source requires permission "android.permission.CAPTURE_AUDIO_OUTPUT", which in turn is "reserved for use by system components and is not available to third-party applications.".
On the other hand, I also did my research in forums like this. Unfortunately and recpectfully, all of the "solutions" were, in fact, workarounds. Other than that I have found some people stating that the lack of API support was deliberately by design and that kind of app functionality is forbidden by Google. Though, no official references were provided to support those claims.
At this point, looks like it can't be done.
Before giving up, I would like to ask the following:
If It's really by design and forbidden to record phone calls, could you point out where, exactly, in some official documentation and/or some reliable source (like... android team, for instance) that explicitly validates those claims?
Kind regards,
Juan Soria
I am developing an android app which needs Speech recognition functionality, I need app should work same as Google Translator app in which it Google translate auto detect language spoken. I checked with Microsoft Azure Speech recognition and Google Speech recognition API in both the API we need to provide language code. I searched all over but did not get any workaround or solution to achieve similar functionality. Please help.
May be I am answering late but it may help
I think problem is very large than it seems. As far as I understood you want to achieve speech-to-text and then translate text to required language.
I think using paid services of microsoft or google or amazon would be helful.
https://azure.microsoft.com/en-in/services/cognitive-services/text-analytics/
https://aws.amazon.com/comprehend/
I am new to speech recognition, android and i have a use case where i need to build an android app which takes commands(limited set of commands, less than 100) from users and executes some logic. I have googled a bit and found the following can be done
Use google cloud speech api
Use Android inbuilt speech to text capability (Is it different from google cloud speech api? If so how?). Also what are the pros and cons of using offline mode of android speech to text?
Use open source speech recognition libraries like Kaldi, CMU Sphinx(it looked like they need a lot of effort in collecting and training the data)
Can someone please suggest me which of the above might best suit my use case?
I have a limited set of commands and speed matters the most to me.
I am really confused and thus putting this question. Thanks in advance.
Use google cloud speech api
Very expensive since you have to pay for every request.
Use Android inbuilt speech to text capability (Is it different from google cloud speech api? If so how?). Also what are the pros and cons of using offline mode of android speech to text?
The inbuilt API is ok to use. It is different from cloud API and it is free. It does not work offline transparently for the user though. Bad side it is slow and you can not configure the vocabulary. So it will decode all words instead of some particular set of commands and often will confuse the required commands with other words in noise.
Use open source speech recognition libraries like Kaldi, CMU Sphinx(it looked like they need a lot of effort in collecting and training the data)
Proper development is always an effort.
I have done a lot of research around the topic. What I want is simply a custom voice (not default voice on device) for my app. Wherever I have searched people suggest using device default.
Best example is Jarvis app on Play store.
I would like to create a uniform experience on any device with this approach. Can someone suggest any good libraries or a way to achieve this?
There is tacotron from google for this purpose.
But i am not sure if the android version is available yet.
Its under developement and probably google assistent is using it.
But they use mostly cloud version on python.
the following link gives me speech in Arabic by using google translate server side api , some website descripe that using this is illegal is this true or not ? because I want to added it to my android application.
P.S : android os does not support Arabic speech
http://translate.google.com/translate_tts?tl=ar&q=%D9%85%D8%B1%D8%AD%D8%A8%D8%A7
http://code.tutsplus.com/tutorials/use-text-to-speech-on-android-to-read-out-incoming-messages--cms-22524
Please Google "text to speech android tutorial" you'll get many.
Edit: Sorry , I understood you question wrong.
I believe it is. But if you are really concerned, please contact Google or ask on their forums, I dont think you'll get an answer to that here. Good luck!
As described in the Terms of Service in Google Translate API:
1. Prohibitions
You will not knowingly use the API to create, train, or improve (directly or
indirectly) a substantially similar product or service, including any other machine translation engine.
That means, for my understanding, that if You plan something like this, it is not allowed if it is Your own implementation of a translate engine. For example, You are calling Your app "Hussamabd´s great Translation Engine" and this app is really for translate words into other languages, then it is not allowed. BUT, there is another part in the API:
Introduction
This document is intended for developers who want to write applications that can interact with the Google Translate API. Google Translate is a tool that automatically translates text from one language to another language (e.g. French to English). You can use the Google Translate API to programmatically translate text in your webpages or apps.
This means to me, if You create an app, which intention is not to translate words, but You need this translation for any other reason, for example making Your app in every language, it will be ok.
Also, You have to pay some fees for using this API. But to get really sure, You should contact Google or a lawyer, because I am not and I can´t give You any law confirmed statement!