我有一个可操作的文本到语音,但我想知道当应用程序调用它来播放时,它会做一个男性的声音,而不是女性的声音?Android文本到语音男性语音
4
A
回答
1
这取决于底层的TTS引擎。有些是可配置的,有不同的声音(男,女等),有些只有一个声音。无论如何,您无法从您的应用中控制此功能,用户必须从“设置”应用更改TTS引擎设置。您只能指示他们安装特定的引擎,并设置您的应用程序以使用它。
3
您无法使Android TextToSpeech听起来像男性。如果您将TextToSpeech.setPitch()值更改为某个较低的值,例如0.1,则听起来会很糟糕。
你唯一的选择是尝试另一个文本到语音引擎,或者与女性听起来的声音共存。
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服务:
tts = new TextToSpeech(context, this, "com.google.android.tts")
或- 安装新的男性(英语)语音并将其默认设置为android。
希望它有帮助。
谷歌有一个新的标志,但Android只有一个女性的声音,令人难以置信。 – Josh 2015-09-04 08:55:14