【问题标题】:Phonemes in eSpeak TextToSpeech in AndroidAndroid 中 eSpeak TextToSpeech 中的音素
【发布时间】:2014-08-06 02:42:17
【问题描述】:

我正在开发一个应用程序,我想在其中使用 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 中不起作用。语法是否正确?

谢谢

【问题讨论】:

    标签: android text-to-speech espeak


    【解决方案1】:

    我在我的应用程序中直接使用以下代码和旁遮普语 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 引擎。默认系统语言设置为您选择的语言(在我的情况下设置为旁遮普语)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 2019-07-07
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2020-11-28
      相关资源
      最近更新 更多