使用Android TextToSpeech时,有没有什么方法可以指定语音的性别,比如tts.setGender(TextToSpeech.MALE)
或者tts.speak("<voice gender='male'>Hello </voice>")
?
谢谢您抽时间见我,
诚挚的问候,
詹姆斯
发布于 2013-08-17 02:04:29
语音数据(用于生成语音)非常特定于特定的语音,并且数据大小对于移动设备而言是巨大的。所以你不能随意切换男性/女性。以Ivona voices为例,您可以下载美国英语(肯德拉,女性)或英国英语(艾米,女性)的语音数据,每个数据大小约为150MB。
你可以尝试播放不同的语言(美国和英国),这取决于用户的语音数据加载,它可能是男性,也可能是女性。
至于音高和速度,是的,你可以改变TTS的音高和速度。虽然我试过了,但听起来不太好,但这可能取决于你使用的是哪种语音数据。
接口如下:
tts.setPitch(float pitch);
tts.setSpeechRate(float speechRate);
在这两种情况下,参数1.0表示“正常”音调/速率。
发布于 2013-08-16 19:58:19
对于女性,可以将tts.setLanguage
设置为Locale.UK
,对于男性,可以将其设置为Locale.US
if(myTTS.isLanguageAvailable(Locale.ENGLISH)==TextToSpeech.LANG_AVAILABLE)
myTTS.setLanguage(Locale.UK);
或
if(myTTS.isLanguageAvailable(Locale.ENGLISH)==TextToSpeech.LANG_AVAILABLE)
myTTS.setLanguage(Locale.US);
唯一的警告是,这只适用于更新的Android版本,我认为4.0和更高版本。这个博客post有更多关于它的信息。
发布于 2013-08-16 19:14:46
我正在寻找相同的,但在做了一些研究后,没有办法配置声音。无论是音高,速度还是性别
https://stackoverflow.com/questions/18280451
复制相似问题