How to use Hindi(Indian Mother Tongue) language in Text-To-Speech?

user1294970 picture user1294970 · Apr 4, 2012 · Viewed 7.3k times · Source

I am creating an application for student. I need to enter data in Hindi or Marathi.
When user clicks on specific topic then user should be able to listen this topic in Hindi Or Marathi.
I know How to set Language in TextToSpeech like

Tts.setLanguage(Locale.US);  

I need to set Hindi or Marathi Language. My question is that how to use Marathi or Hindi
Language in TextToSpeech. Please give me any reference or hint.

Answer

Kevin Junghans picture Kevin Junghans · Apr 4, 2012

You need a text-to-speech (TTS) engine that supports Hindi. Each TTS engine has specific languages that it supports. Here is a TTS engine that supports Hindi, but this runs on Windows. I see from the tags that you want to support this on Android. Here is a post about supporting Hindi TTS on an Android. The native TTS on Android does not support Hindi. What you may have to do is create a service that uses the Hindi text and translates it to an audio file. You would then stream the audio file to your Android application.

In my opinion though you will not want to use TTS for an educational application. I think you will find the output from the TTS very robotic and hard to understand by the students. I would record the lessons/information and just stream it in your application. Before you purchase any TTS engine I would try it out first to make sure that the generated voice is acceptable. Most of the top educational application today (ex: Khan Academy) use pre-recorded audio and/or video.