【发布时间】:2018-06-18 08:59:58
【问题描述】:
Android 上的 Google TTS 语音(至少对于某些语言/国家/地区对)具有男性和女性变体 - 例如英语英国,具有低质量和高质量的男性和女性声音。然而,当使用 TextToSpeech.Engine.ACTION_CHECK_TTS_DATA 意图枚举语音时,Google TTS 引擎仅列出语言国家区域设置,没有变体,例如eng-gbr, eng-usa.
调用 tts.setLanguage(locale) 时,我尝试添加“eng-gbr-male”或“eng-gbr-Male”等变体,但他们忽略了这一点,始终返回值 1(可用的语言和区域,变体不是)。有没有办法通过没有 root 访问权限的普通应用程序以编程方式为 Google TTS 语音设置男性或女性变体?
格雷格
【问题讨论】:
-
这个问题已经被问了好几次了,到目前为止似乎没有人知道解决它的方法。无论出于何种原因,该服务都不会公开这些变体以供使用。可能是特定设备的许可问题?
-
@Turnsole,谢谢!我对谷歌 TTS 提供的程序化支持质量差感到非常失望,而且他们的高质量语音需要很长时间才能初始化——在 Note 3 上,每个 HQ 语音至少需要 6 秒。与我使用的所有其他 TTS 引擎相比,对于用户来说,这似乎是永恒的。
-
这是一个令人沮丧的问题,我们无处可报告问题或建议。我通过 Play 商店中的链接向 Google 发送了电子邮件,要求他们在他们的产品论坛中开设一个专门的区域,但收到他们的回复或发生这种情况的机会为零。
-
@gregko 我们确实需要提交 ASOP 增强请求,以更改过时的 TTS API,然后所有引擎都将遵守该 API。使用 eng-GBR-Male 的语言环境是糟糕的设计,并且至少将性别参数分开是一个好的开始。我将很快返回并发布我用于检查所有可用引擎数据的代码
-
@brandall,那太好了,谢谢!我还列出了所有可用的引擎和带有 TextToSpeech.Engine.ACTION_CHECK_TTS_DATA 意图的声音和一些自定义代码 Ivona TTS,它不能正确处理意图数据。我希望看到的对 Android TTS API 的另一项改进是在说出每个单词时发送通知/事件,以突出显示学习外语或儿童教育应用所需的单词。
标签: android text-to-speech voice