java - tts 使用 vocalize tts 引擎设置语音

标签 java android text-to-speech

我正在尝试使用发声器语音实现一个 tts 应用程序。我已经下载了很多语音,它们在 get Voices 调用中正确列出。

 for(Voice v : engine.getVoices()){
 }

但是当我调用 engine.setVoice(v) 时,当您为一种语言下载了多个语音时,它设置不正确。例如

enter image description here

它不会在应用程序 (Fiona) 中使用选定的声音,而是使用 Kate,如果我在 vocalizer 应用程序中交换最喜欢的声音,它将使用 Fiona 而不是 Kate。如果您下载了所有语音,这也是一样的,它总是会选择最喜欢的语音作为在应用程序中选择的本地语音。

我该如何解决这个问题?

最佳答案

我对此进行了测试,可以确认这是一个错误。

如您所说,它会在不同语言环境的声音之间成功切换,但当尝试在其中一个语言上调用 setVoice()) 时,它会默认为应用程序中选择的“最喜欢的”相同的语言环境。

同样令人沮丧的是,当调用 getVoice() 时,它会返回您尝试设置的语音,因此无法检测到它“失败”。它必须在每次调用 speak

时在内部更改它

我将使用“关于设置”中的电子邮件报告该错误并引用这篇文章 - 如果您也能这样做,那就太好了!

关于java - tts 使用 vocalize tts 引擎设置语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095960/

相关文章:

java - 将 JCheckBox 用作我的 JTable 单元格的 DefaultCellEditor

java - Android 按钮不起作用?

text-to-speech - 使用 JSAPI 将文本转换为语音时排查 "System property mbrola.base is undefined. Will not use MBROLA voices"问题

Java使用嵌套循环打印数组

java - Android Base64 音频文件编码/解码

android - 启动新 Activity 后调用finish()

java - 将输入发送到标准输入并在 Java 中获得完整输出 - Festival TTS

android - 尝试在 setOnUtteranceProgressListener 中调用 Toaster 或自定义函数

java - 使用资源 URL 删除 AWS S3 资源 - Java SDK

android - 从android中的服务弹出警告对话框