Java:文本到语音引擎概述 [已关闭]

问题描述 投票:0回答:9

我正在寻找 Java 文本转语音 (TTS) 框架。在我的调查过程中,我发现JSAPI实现页面上列出了几个JSAPI1.0(部分)兼容的框架,以及一对似乎不遵循JSAPI规范的Java TTS框架(MarySay -现在)。我还注意到,目前 JSAPI 不存在参考实现。

我对 FreeTTS 所做的简短测试(JSAPI impls 页面中列出的第一个测试)表明它远不能阅读简单明了的单词(例如:ABC、黑板)。其他测试目前正在进行中。

问题来了(实际上是 6):

  1. 您使用过哪些基于Java的TTS框架?
  2. 您认为哪些能够阅读最大的词库?
  3. 他们的语音质量怎么样?
  4. 他们的表现如何?
  5. 目前有哪些与 Java 绑定的非 Java 框架?
  6. 您会推荐哪一个?
java text-to-speech
9个回答
19
投票

实际上我在 FreeTTS

上运气很好

12
投票

8
投票

其实没有什么太大的选择:

  • 节日,最古老。用 C++ 编写,但绑定到 Java。
  • eSpeak,快速简单,由谷歌翻译使用
  • 姆布罗拉

纯Java:

  • FreeTTS,代码是从Festival移植来的,后来开源并停止开发。
  • MaryTTS - 功能更强大,看起来已准备好投入生产。

还有其他专有程序,例如:

  • 阿卡贝拉
  • Nuance 发声器

如果您的软件仅限 Windows,则可以使用 Microsoft Speech API。


7
投票

我以前使用过 Mary,她的声音质量给我留下了深刻的印象。不幸的是,我没有使用过其他的。


5
投票

我使用过 AT&T Natural Voices,它提供了 JSAPI 和 MS SAPI 挂钩。它提供了优质的语音、良好的“通用”语音词典、多种发音控制以及多种语言。虽然有点贵,但是效果很好。

我用它在移动传感器应用程序中向驾驶员读取重要的传感器遥测数据。我们对语音质量没有任何抱怨。它对于科学术语的开箱即用准确率约为 75%,对于正常对话的准确率要高得多(也许 90% 以上)。通过使用标记,我们的准确率达到了 99% 以上(大多数错误是关于具有不寻常音素组合的科学术语)。

这对处理器来说有点困难(我们在 Pentium-III 同等机器上运行,它推动了 50%-75% 的 CPU 峰值)。它使用带有 Java 接口的本机语音引擎(兼容 Windows、Linux 和 Mac)。

有各种各样的声音和语言......


1
投票

我使用了 FreeTTS,但在我的 MacbookPro 上运行 MBrola 语音时遇到了一个重大问题。我确实让 MBrola 声音在 Windows(痛苦地)和 Linux 上运行。我没能在 FreeTTS 上加载任何其他语音包,这很遗憾,因为在我看来,提供的语音很糟糕。除此之外,我在 Cloudgarden 上也取得了一些成功,但据我所知,它只能在 Windows 上运行。我很想听听其他人在语音引擎方面的成功/失败,因为此类工作特别具有挑战性。我也在玩弄 Sphinx4。我昨晚刚刚下载了 JVXML(它似乎是基于 Sphinx4 的),但由于某些奇怪的原因无法让它运行。


1
投票

我为玛丽做出了贡献。我觉得如果有比我更聪明的人将 HMM 声音从核心中分离出来(这些声音不需要大数据集并且听起来不错),那么它就有潜力。我还尝试为 freetts 创建一个事件系统,以便在它说出单词时发送事件。我已经成功了,但是现在在linux下就坏了。 (可能是因为计时器错误)。


1
投票
java -jar freetts.jar some-more-args-here

的形式运行,它比以 bin/Server.jar 和 bin/Client.jar 的方式执行时拼写的单词更少。

    


0
投票
MarryTTS

它有多种语言和清晰的声音可以理解。 T 将语音转换为文本,更好的选择是

sphinx4-5prealpha

。 我竖起一根大拇指,因为它具有可调整、灵活、可修改的识别器和语法。

© www.soinside.com 2019 - 2024. All rights reserved.