2016-08-23 802 views
1

我想实现一个使用vocalizer声音的tts应用程序。我已经下载了很多声音,并且他们被正确列出了获取声音的电话。tts设置声音使用发声tts引擎

for(Voice v : engine.getVoices()){ 
} 

但是,当我把它engine.setVoice(v)没有设置正确,当你下载了语言不止一种声音。例如

enter image description here

而不是使用选定的语音应用程序(菲奥娜)而改用凯特,如果我换了最爱的声音在Vocalizer提供的应用程序将使用菲奥娜而不是凯特。如果你已经下载了所有的声音,这也是一样的,它总是会选择在应用程序中选择的本地声音的最喜欢的声音。

我该如何解决这个问题?

+0

什么是'setVoice()'结果呢?我发现没有任何TTS提供商正在正确处理新的语音API,而不是Google ... – brandall

+0

0,它是成功的一个,-1是错误 – Lawtonj94

+0

在Android文本到语音设置中,是否将语音列为单独的引擎? – brandall

回答

1

我测试了这个,可以确认它是一个错误。

正如你所说,它会成功切换不同语言环境的声音,但在尝试在同一个语言环境中调用setVoice())时,它将默认为在应用程序中选择的“最喜欢的”。

当调用getVoice()时,它会返回您尝试设置的语音,因此无法检测到它“失败”,这也令人沮丧。必须在内部改变它在每次调用speak

我对使用的电子邮件关于设置和参考这篇文章来报告错误 - 是好,如果你能做到这一点!

+0

会做,很高兴知道这不仅仅是我有这个bug。 – Lawtonj94

0

Vocalizer版本2.0.7(2017年8月7日)修正了此问题。

在应用程序设置中有一个名为“支持最新TTS API”的选项或默认启用的类似功能。

更新日志:

重要说明:此更新使用新的语音数据和当前的声音将被删除。你将不得不再次

-Upgraded引擎Nuance的Vocalizer提供嵌入式3.0下载声音,提高质量和稳定性

-8新的语言:智利,博杰普尔语,孟加拉语,卡纳达语,马拉地语,泰卢固语,泰米尔语和克罗地亚

-20新的声音

-Code优化,以提高响应时间

- 支持Android的文字转语音API

- 支持Android的7牛轧糖

- 支持新的表情符号的Unicode 8.0和9.0

- 内部的改进和错误修正