I am looking a way to develop an app in Android which speaks Javanese Language from texts. As I know there is no such Javanese TTS installed by default. So is there any way to modify default TTS engine pronunciation?
For example, the my expected pronunciation of "PIYE" is pee-ye. Here is what the TTS engine produces:
mTts.speak("piye", TextToSpeech.QUEUE_ADD, null); // output: pie-ee
Can somebody help me? Thank you.
No, you cannot change the pronunciation. There is not API method to do so.
I am trying to do something similar - get an app to use standard US-EN pronunciation for scientific terms. My solution is to force the TTS engine to say certain words in a certain way by first replacing them with phonetically correct phrases. Here's an example:
myString = myString.replace(" cis "," sihs ");
This approach seems promising but not perfect.
Related
I am trying to make an application in which user can translate text one language to another and will be able to hear the translated text.
I Somehow Done Translating One Language to another using Microsoft Translate API.
But I am still unable to to speak out that translated text.
Please Guide me, How to achieve this functionality.
You can suggest me totally different API with translation and speech, I can convert my project to that.
Please Please any help.
Regards
You can you Google's text to speech. See this.
I'm trying to do a TextoToSpeech program in Android Studio but I want it to get a word and say it in another language(portuguese) that is not listed when I hit CTRL+SPACE.
How do I set this new language?
Well, It's related to the TTS Engine, there is a lot of engines like the Google TTS Engine, You can change language to speak by using setLanguage() function. Lot of languages are supported like Canada, French, Chinese, Germany etc.,but if the 'portuguese' language does not appear so you can not add it using this engine, so i suggest you to change your engine, there are a lot of engines, try to use Ekho engine, or find what engine support the portuguese language!!
tts.setLanguage(Locale.CHINESE); // Chinese language
I hope it will help you, best regards
I want to develop an Android application (using some library) which displays and reads text in Indian languages. Mainly in Devanagari (Sanskrit/Hindi/Marathi etc.) what would be the best way to go about it? Should i specify Phonetics for each word and feed it to Pico? Or can anyone please suggest a better and a simpler library. (Which even sounds natural).
Thanks in advance. :)
This may work.... Try to customize your TTS Locale as
Locale loc=new Locale("en","IN");
tts.setLanguage(loc);
I need to use speech input to insert text. How can i detect keyword when I'm speaking ?
Can i do this with Android Speech Input or I need external library ?
Any ideas ?
Thanks
Keyword detection task is different from a speech recognition task. While second tries to understand the text being spoken and check all possible word combinations, keyword spotting usually check two hypothesis - word is here or garbage is here. Its way more efficient to check keyword presence but it requires custom algorithm. You can implement one with the open source speech recognition toolkit like CMUSphinx.
http://cmusphinx.sourceforge.net
Which runs on Android too, you can check
Voice command keyword listener in Android
to see how to integrate it.
Absolutely.
See this for some code that detects the "magic word"
Just launch an Intent with ACTION_RECOGNIZE_SPEECH and then check the results for your keyword. Checking for the keyword can be complicated, but this code should get you started.
https://github.com/gmilette/Say-the-Magic-Word-
I used the Snowboy library for this task
Website: https://snowboy.kitt.ai
Github: https://github.com/kitt-ai/snowboy
It is a C library but it can be included in Android code using the JNI. The only downside to it is that you have to train it with audio samples if you want to use another keyword than the ones that come with the library.
I have the IPA pronunciation for a word which I would like to audibly play back to the user.
Can this be done using the built-in TTS engine? If not, is there a TTS engine out there that does support it?
As far as I know, this cannot be done and there is no app that supports this. The TTS engine supports only English, French, German, Italian, and Spanish (EFIGS).
Unless you have some linguistic knowledge, you are probably out of luck. If you do, you could probably try to map the IPA to the most appropriate language (or maybe try Italian) and see how bad it is.
Ivona supports this. They do have a free app for Android. It is a bit hard to setup, but perhaps this will get you going in a helpful direction.