I'm new at developing TTS for android and I don't quite understand a part of it. My company uses a TTS engine and we are trying to write an application so it can be used as a text to speech engine(not in the app but by the phone). I've read through several threads on other sites such as:
https://groups.google.com/forum/?fromgroups=#!topic/tts-for-android/EzXyyqG7cvw
my question is this: if I create an app, which uses the TTS engine in the app, will it also be included as a preferred TTS engine in settings->Language_and_input->Text-to-speech_options? or do I have the create something specific for the TTS engine to be used as a preferred TTS engine?
Yes, you can create a TTS Engine which is available as the default on the device.
There are manifest additions you have to add and Intents you must respond to, so the best way to understand these is to look at the Robot Speak app in the SDK samples
It's quite straight forward from there.
The user gets to set his preferred engine. You can use a specific engine inside your app of course, but only the user can set default services. This is to prevent malware apps from specifying themselves as the default regardless of what the user wants. You will show up as a possible TTS engine if you follow the rules and set up your manifest correctly.
Related
Can I write a custom Phone app (dialer/in-call screen, etc.) with all the functionality of a native Android phone app? I've read that certain functions, like conference calling, may be off-limits to third party developers, but I haven't yet found anything official regarding what may or may not be allowed.
Here is the telephony API summary.
Also here you can find a mini tutorial on how you can do it.
I am developing android application for illiterate people. One of the feature of this application is to read the text that application produces. So I am in need of the Text To Speech System. I found some of the Frameworks that suits me theoritically like
Flite
eSpeak
I even found Flite port into the Android. happyalu/Flite-TTS-Engine-for-Android
The application user will not be able to understand english. My problem is now
Which framework to use?
How to add new languge in these frameworks?
I'm writing an Android application which needs to speak out a text (i.e the TextToSpeech functionality in an eReader). I am trying to do this in Papiamento Languages ("http://www.narin.com/papiamentu/"). Is this possible? If so, how could I do it? There are some TTS engines available. I used eSpeak TTS Engine. With the use of eSpeak, I was able to configure the settings page to use it as the default engine. But how could I use that engine to do TTS in our application? Thanks.
Unfortunately Papiamento isn't supported at the OS level, nor do pretty much every 3rd party TTS engine. I wish it did though, saw a few people using our app when I was in CuraƧao a few weeks ago :)
Currently, only espeak supports this language, and it should be as easy as going to your android settings, general management or language and input, text to speech, preferred tts engine and select espeak as the default tts engine, which should automatically synthesize using espeak.
Unhapilly my language doesn't have support for TTS in stock Android. So, my users have to download a third party TTS voice engine.
This is QUITE annoying since it requires extra steps to get my software working.
Is there ANY way to EMBED any third party TTS engine (with its corresponding language pack) in an Android app?
Any help is appreciatted!
No,It is not possible.
You have to download third party TTS from android market then install it Or you can keep third party TTS .apk into assets and then install it.
After that you need to download corresponding voice data from server whose size is ranging from 32Mb to 160MB.
Then you need to set this tts as default tts engine in android Voice input and output. setting(Externally).
Then you need to set your language if user have chosen Always use my settings in android setting.
I am not sure if you can embed a third party TTS in android. But I have done it using java.
there is an open source library available as freetts.jar.
Just go through this video tutorial and you will get the procedure. You can try implementing the same in android.
https://www.youtube.com/watch?v=gKAXzpnWXNU
Hope it helps you.
I found for certain languages the sound files from google translate sound by far most real (compared to other TTS engines availlable for Android).
Is the google translate app using a TTS engine?
Is there a way to play these TTS from a android app?
Here is a link to a TechCrunch article on using the unofficial Google TTS API [http://techcrunch.com/2009/12/14/the-unofficial-google-text-to-speech-api/]. You pass in the text in a RESTful API and it returns you an MP3. So if you can make an HTTP request from your Android application and play the MP3 that is returned you could use the Google TTS engine. The downside is that it is "unofficial" so it could be changed or removed without warning. There are probably other services available like this that are supported. But you will need an Internet connection and have to deal with latency issues with this approach, which may or may not be an issue depending on the application.
Android uses TTS engine, but the engine is determined by the firmware provider. The most-commonly seen one is Pico.
Here is the Android documentation on using TTS:
android.speech.tts.TextToSpeech
Android's TTS does NOT require an internet connection. It generates the sounds as needed.
Here is some code that uses Android TTS. It handles some of the gotchas involved:
https://github.com/gmilette/Say-the-Magic-Word-