2012-03-22 111 views

回答

1

这取决于底层的TTS引擎。有些是可配置的,有不同的声音(男,女等),有些只有一个声音。无论如何,您无法从您的应用中控制此功能,用户必须从“设置”应用更改TTS引擎设置。您只能指示他们安装特定的引擎,并设置您的应用程序以使用它。

3

您无法使Android TextToSpeech听起来像男性。如果您将TextToSpeech.setPitch()值更改为某个较低的值,例如0.1,则听起来会很糟糕。

你唯一的选择是尝试另一个文本到语音引擎,或者与女性听起来的声音共存。

+1

谷歌有一个新的标志,但Android只有一个女性的声音,令人难以置信。 – Josh 2015-09-04 08:55:14

1

有可能将声音改变为男性。设置在onCreate()tts.setEngineByname("com.google.android.tts")并使google tts服务在文本到语音设置中的默认设置以及在Google tts服务中安装男性语音。

像这样你可以使用任何第三方的android tts服务并检查设备。或者要求安装。

4

现在可以使用男性/女性的声音并动态地从应用程序UI进行更改。定义TTS像这样(加谷歌TTS引擎在构造函数):

tts = new TextToSpeech(context, this, "com.google.android.tts"); 

CONTEX =活动/应用

此= TextToSpeech.OnInitListener

tts.getVoices()列表中,选择您想要的声音通过它的名字是这样的:

for (Voice tmpVoice : tts.getVoices()) { 
     if (tmpVoice.getName().equals(_voiceName)) { 
      return tmpVoice; 
      break; 
     } 
} 

NB:U nee d通过从tts.getVoices()获取硬编码的voice_name来设置_voiceName。例如:英语男性这将是: “EN-US-X-SFG#male_1本地”

0

无论哪种方式,你可以设置你的Android文本到语音转换到谷歌TTS服务:

  1. tts = new TextToSpeech(context, this, "com.google.android.tts")
  2. 安装新的男性(英语)语音并将其默认设置为android。

希望它有帮助。