我想在我的Java应用程序中使用MaryTTS嵌入。我已经下载了这些罐子放在我的类路径中。我可以成功地运行这个测试:
public static void main(String[] args) throws Exception {
MaryInterface marytts = new LocalMaryInterface();
Set<String> voices = marytts.getAvailableVoices();
marytts.setVoice(voices.iterator().next());
AudioInputStream audio = marytts.generateAudio("Hello world.");
AudioPlayer player = new AudioPlayer(audio);
player.start();
player.join();
}问题是,唯一可用的语音是cmu-slt-hsmm,这是有意义的,因为这是我在类路径中唯一的voice- jar。然而,我在任何地方都找不到其他声音的罐子,这让我相信我做错了什么,因为Mary GUI可以很好地使用其他声音。
如何在使用MaryTTS嵌入时使用其他声音?
发布于 2016-03-18 03:07:59
您需要找到或创建新的语音jar,并将此语音jar添加到您的库中。MaryTTS使用组件安装程序自己完成了这一任务,但我希望能够从官方网站上手动下载jars。
这是所有可用声音的列表。那么,让我们假设您想要添加voice-dfki-spike-hsmm。在marytts-components.xml中查找相应的名称,链接通常会类似于以下内容:http://mary.dfki.de/download/5.1/voice-dfki-spike-hsmm-5.1.zip。现在,您可以轻松地解压缩并将此声音放到maryTTS源代码旁边的项目库中。
Demo 设置语音= maryTTS.getAvailableVoices();for(字符串v:语音){System.out.println(“语音可用:”+ v);} 结果: 提供语音: cmu-slt-hsmm提供语音:语音-dfki-尖峰-hsmm
如果您使用maryTTS图形用户界面,您可能已经在硬盘上听到了所有的声音。本文可能会帮助您找到它们:http://myrobotlab.org/content/marytts-multi-language-support
PS。TTS声音本身有单独的许可证,所以不要忘记在marytts-components.xml中查看它。通常知识共享,但取决于声音的许可,它可能会或不可能被商业使用。
https://stackoverflow.com/questions/35932491
复制相似问题