Android版eSpeak TextToSpeech中的音素

时间:2014-06-16 09:49:58

标签: android text-to-speech espeak

我正在开发一个应用程序,我想使用TTS来阅读文本。我想离线支持印度语言,所以我在我的Android设备上安装了eSpeak Text To Speech引擎并将其设置为默认值。在理解了语音合成标记语言(SSML)后,我意识到我可以将音素作为输入,使语音引擎正确发音。所以我创建了一个示例应用程序,其中我正在使用Android的TextToSpeech类。

String text = "[[ D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt ]]";// "This is some phonetic text input"
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);

我在espeak的文档中读到,要使引擎理解音素,只需将语音表达式放在双方括号中,它就会接受它作为音素并相应地渲染它。但这在Android中不起作用。语法是否正确?

由于

1 个答案:

答案 0 :(得分:0)

我在我的应用程序中直接使用以下代码与旁遮普语言unicode文本,它的工作原理。

m_objTTS = new TextToSpeech(this, this, "com.googlecode.eyesfree.espeak");

m_strTexttoSpeak =  "ਸਕਰੀਨ ਤੇ ਟੈਪ ਕਰੋ|"; // its punjabi translation for "Tap on Screen"

m_objTTS.speak(m_strTexttoSpeak,TextToSpeech.QUEUE_FLUSH, null, null);

您应该在移动设备上安装espeak TTS应用并将其设置为默认TTS引擎。默认系统语言设置为您选择的语言(在我的情况下设置旁遮普语)