首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓TextToSpeech,设置性别?

安卓TextToSpeech,设置性别?
EN

Stack Overflow用户
提问于 2013-08-17 03:08:25
回答 3查看 7.4K关注 0票数 2

使用Android TextToSpeech时,有没有什么方法可以指定语音的性别,比如tts.setGender(TextToSpeech.MALE)或者tts.speak("<voice gender='male'>Hello </voice>")

谢谢您抽时间见我,

诚挚的问候,

詹姆斯

EN

回答 3

Stack Overflow用户

发布于 2013-08-17 10:04:29

语音数据(用于生成语音)非常特定于特定的语音,并且数据大小对于移动设备而言是巨大的。所以你不能随意切换男性/女性。以Ivona voices为例,您可以下载美国英语(肯德拉,女性)或英国英语(艾米,女性)的语音数据,每个数据大小约为150MB。

你可以尝试播放不同的语言(美国和英国),这取决于用户的语音数据加载,它可能是男性,也可能是女性。

至于音高和速度,是的,你可以改变TTS的音高和速度。虽然我试过了,但听起来不太好,但这可能取决于你使用的是哪种语音数据。

接口如下:

代码语言:javascript
运行
复制
tts.setPitch(float pitch);
tts.setSpeechRate(float speechRate);

在这两种情况下,参数1.0表示“正常”音调/速率。

票数 2
EN

Stack Overflow用户

发布于 2013-08-17 03:58:19

对于女性,可以将tts.setLanguage设置为Locale.UK,对于男性,可以将其设置为Locale.US

代码语言:javascript
运行
复制
if(myTTS.isLanguageAvailable(Locale.ENGLISH)==TextToSpeech.LANG_AVAILABLE)
myTTS.setLanguage(Locale.UK);

代码语言:javascript
运行
复制
if(myTTS.isLanguageAvailable(Locale.ENGLISH)==TextToSpeech.LANG_AVAILABLE)
myTTS.setLanguage(Locale.US);

唯一的警告是,这只适用于更新的Android版本,我认为4.0和更高版本。这个博客post有更多关于它的信息。

票数 1
EN

Stack Overflow用户

发布于 2013-08-17 03:14:46

我正在寻找相同的,但在做了一些研究后,没有办法配置声音。无论是音高,速度还是性别

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18280451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档