I'm trying to create a simple application such as in the tutorial for the android vision API, only to recognize Hebrew, instead of English.
so far, from what i searched mobile vision api, and from playing around with other languages, the application recognize many Latin based languages (French, Spanish, for example) but no non-Latin character languages i tried (Chinese, Hebrew, Arabic comes to mind).
the question is, is it possible to use Google's mobile vision to read non-Latin text? if yes, how would i change my simple app to read other type of characters? and if not, what are my alternatives? i have found tessaract and Google cloud vision, but i prefer to have as little interaction with outside sources as i can, i want the app to be installed and used freely without relaying on outside engines or servers, any help and pointing in the right direction is appreciated.
Mobile vision OCR doesn't support non-latin languages.
here's a link to official documentation.
https://developers.google.com/vision/text-overview
You can use Google Cloud Vision for the required purpose but it would require internet connectivity. For now, most of the OCR supported APIs require internet connectivity, If you find any with more language support as compared to Mobile vision, please answer to your question here.
Related
Is it possible for Mobile Vision API to detect Chinese, Japanese and Korean?
If not, is there any way to detect these language in Android?
Google Cloud Vision API provides support for a much larger set of languages (i.e. Chinese) from an OCR standpoint:
https://cloud.google.com/vision/docs/languages
You can detect Chinese, Japanese and Korean Tesseract but you will not get 100% result.
Tutorial Link :
http://imperialsoup.com/2016/04/29/simple-ocr-android-app-using-tesseract-tutorial/
other Language Data files :
https://github.com/tesseract-ocr/tessdata
Sample Links:
https://github.com/rmtheis/tess-two
https://github.com/imperialsoup/SimpleTesseractExample
I'd like to write android application for text recognition in images from camera. However, text to be recognized does not consist of regular words, it's just a sequence of letters, digits, slashes, etc. Is it still possible to use Google Vision API for this task? Or should I look for some other tools? I have read about tessaract library, but Google Vision seems to be easier for beginner developer. Would it give significant boost in accuracy of recognition?
I can confirm that at least the sample OCR reader that google supplies can read non-language text strings. I have been using it to read VIN numbers, for instance.
i am working on an android application which has a speech recognition module that works in English using google's offline speech recognition but now i want to add new language (Swahili) which is not on the list of available languages in google's offline speech recognition languages. how can i add Swahili language to it? and use it on my application?
without google supported languages you can't get them either in offline or online into voice search.
Interpretation
Since you did not specify the speech recognition you intend to use, should use google speech recognition, nor that it should work off-line, an answer to your question could be:
Solution
You could implement a pre-trained deepspeech model for the swahili language on your android.
Suggestions
Here are people working on implementing deepspeech on android. This contains an explanation on how to train your own deepspeech model. This is an example on how to use a pretrained deepspeech model in general. Here is a list of already pretrained models (I think it currently does not yet contain a Swahili example). This is where you can improve languages, Since the Swahili language is not yet started, you can subscribe here to help train the deepspeech models for that language.
Disclosure
I am not affiliated with the Deepspeech nor Mozilla.
Note
Please feel free to explain a solution you have developed if you implement one, as an additional answer to this question.
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!
I am trying to build an application (which would use the Hindi language and other regional languages) to get speech voice commands.
I also need text to speech functionality in my application.
I was wondering if there was any way I could get a speech recognition library on Android? I did a quick Google search and found a couple of libraries for Hindi on the Internet but I am not sure if I can include them in my Android project. Can I?
You can use pocketsphinx for your app.It has JAVA and Python API's for capturing and recognizing speech. By default it recognizes only English. But if you provide your own Language Model (LM) and Dictionary File(.DIC), you should be able to get it working.
Not directly straightforward as using an API, but can be certainly doable
http://cmusphinx.sourceforge.net/wiki/tutorialandroid
Android does support a few languages but not very many, I think the list currently is US, Japanese and Chinese. Not Hindi yet though I would think they are working to add new language support soon.
Over on the Android Developers page they have a good example.