更改Android的文本到语音的默认语音

时间:2013-07-29 00:02:09

标签: android text-to-speech

我在我的应用中使用了Android的文字转语音默认引擎,但女声的声音听起来像40岁以上的女性,而且她的声音有些机器人。

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

这种“自然”的声音也在Android主 Google搜索中使用,例如当你按下麦克风并问一个问题(Siri风格),比如“谁是美国总统”时,女人的声音会告诉你答案。

如何在代码中实现这种声音?

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

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

3 个答案:

答案 0 :(得分:3)

以下是我使用KEY_FEATURE_NETWORK_SYNTHESIS param:

的代码
HashMap<String, String> onlineSpeech = new HashMap<>();
onlineSpeech.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
tts.speak(speech, TextToSpeech.QUEUE_FLUSH, onlineSpeech);

答案 1 :(得分:1)

您无法在TextToSpeech内更改此内容。您可以下载替换它的其他应用程序,但是使用当前系统,您只能设置语言并设置音高。如果你只想要不同的东西,可以通过设置英国英国来获得英国口音。 Ivona是谷歌语音语音的最大替代品之一。

答案 2 :(得分:1)

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