Example:
English:
tts.speak("Welcome rubin", TextToSpeech.QUEUE_ADD, null);
It speaks correctly English in US Voice.
Hindi:
for (Voice voice: voices) {
Log.v(TAG, voice.getName());
if (voice.getName().equals("hi-in-x-cfn#female_2-local")) {
tts.setVoice(new Voice(voice.getName(),
}
}
tts.speak("स्वागत हे rubin", TextToSpeech.QUEUE_ADD, null);
It says the hindi text and english name in hindi voice.
Currently, languages supported by Google Text-to-Speech
Bangla (Bangladesh), Bangla (India), Cantonese (Hong Kong), Czech, Danish, Dutch, English (Australia), English (India), English (United Kingdom), English (United States), Estonian, Filipino, Finnish, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Khmer, Korean, Mandarin (China), Mandarin (Taiwan), Nepali, Norwegian, Polish, Portuguese (Brazil), Romanian, Russian, Sinhala, Slovak, Spanish (Spain), Spanish (United States), Swedish, Tamil(தமிழ்) ,Thai, Turkish, Ukrainian and Vietnamese.
tts.speak("வரவேற்பு rubin", TextToSpeech.QUEUE_ADD, null);
Set<Voice> voiceList = tts.getVoices();
for (Voice voice : voiceList) {
Log.v(TAG, "Voice: " + voice.getName());
if (voice.getName().equalsIgnoreCase("ta"))
{
Log.v(TAG, "Voice available: " + voice.getName());
tts.setVoice(voice);
}
}
Am getting tamil voice in this list(voiceList) but it is showing not-installed.
It speaks the tamil word in English slang. How to set Tamil Voice and make it speak like Tamil voice??