本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

使用 MaryTTS 嵌入时如何使用其他声音?

发布于2021-11-13 22:27     阅读(888)     评论(0)     点赞(12)     收藏(1)


我想在我的 Java 应用程序中使用 MaryTTS。我已经下载了 jars 并将它们放在我的类路径中。我可以成功运行此测试:

    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 嵌入时如何使用其他声音?


解决方案


您需要找到或创建新的语音 jar 并将此语音 jar 添加到您的库中。MaryTTS 使用组件安装程序自行完成此操作,但我更喜欢从官方网站手动下载 jar。

这是所有可用声音的列表因此,假设您要添加voice-dfki-spike-hsmm. 在中找到合适的名称,marytts-components.xml链接通常如下所示:http://mary.dfki.de/download/5.1/voice-dfki-spike-hsmm-5.1.zip. 现在,您可以轻松地解压缩并将此声音放到您的项目库中,紧挨着 maryTTS 源。

演示

Set<String> voices = maryTTS.getAvailableVoices();
for(String v : voices){
    System.out.println("Voice available: " + v);
}

结果:

Voice available: cmu-slt-hsmm
Voice available: voice-dfki-spike-hsmm

如果您使用 maryTTS GUI,您的硬盘驱动器上可能已经有所有声音。本文可能会帮助您找到它们:http : //myrobotlab.org/content/marytts-multi-language-support

附注。TTS 语音本身有单独的许可证,所以不要忘记在marytts-components.xml. 通常是知识共享,但根据语音的许可,它可能会或可能不会用于商业用途。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/316616/aab6e00d5b1b1588b158/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)