5

我在我的应用程序中使用 Android 的Text To Speech默认引擎,但是女性的声音听起来像是 40 多岁的女人,而且她的声音有点机器人。

我看到其他似乎使用谷歌内置 TTS 的应用程序,但听起来好多了,即年轻女性的声音更自然。

这种“自然”的声音也被用于 Android 主Google 搜索,例如,当您按下麦克风并提出“谁是美国总统”之类的问题(Siri 风格)时,女人的声音会告诉您答案。

这个声音怎么在代码中实现呢?

基本上这就是我在我的代码中所做的:

    TextToSpeech tts = new TextToSpeech(this, this);
          .
          .
          .
    tts.setLanguage(Locale.US);
    tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
4

3 回答 3

4

这是我使用KEY_FEATURE_NETWORK_SYNTHESIS参数的代码:

HashMap<String, String> onlineSpeech = new HashMap<>();
onlineSpeech.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
tts.speak(speech, TextToSpeech.QUEUE_FLUSH, onlineSpeech);
于 2017-05-02T13:09:42.003 回答
1

您无法在TextToSpeech. 您可以下载替代它的其他应用程序,但是使用当前系统您只能设置语言和设置音高。如果您只是想要一些不同的东西,您可以通过将其设置为 English UK 来获得英国口音。Ivona 是谷歌文本到语音语音的最大替代品之一。

于 2013-07-29T00:20:46.587 回答
1

我最终设法找到了解决方案。我只需要使用 jellybean 上可用的 KEY_FEATURE_NETWORK_SYNTHESIS 参数。默认离线模式有可怕的机器人声音

于 2013-07-31T00:06:25.670 回答