Java:文本到语音引擎概述

时间:2008-09-27 10:43:21

标签: java text-to-speech

我现在正在寻找Java Text to Speech(TTS)框架。在我的调查过程中,我发现JSAPI Implementations page上列出了几个与JSAPI1.0(部分)兼容的框架,以及一对看似不符合JSAPI规范(Mary的Java TTS框架, Say-It-Now)。我还注意到目前JSAPI还没有参考实现。

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

这就是问题(实际上是6):

  1. 您使用过哪个基于Java的TTS框架?
  2. 根据您的意见,哪些能够阅读最大的wordbase?
  3. 他们的语音质量怎么样?
  4. 他们的表现如何?
  5. 现场有哪些带有Java绑定的非Java框架?
  6. 你会推荐哪一个?
  7. 提前感谢您的意见和建议。

9 个答案:

答案 0 :(得分:18)

我实际上对FreeTTS

运气不错

答案 1 :(得分:14)

答案 2 :(得分:6)

我之前使用过玛丽,我对声音的质量印象非常深刻。不幸的是,我没有使用任何其他的。

答案 3 :(得分:6)

实际上,没有太大的选择:

  • 节日,最老。用C ++编写但绑定到Java。
  • eSpeak,快速而简单,由Google翻译使用
  • mbrola

Pure Java:

  • FreeTTS,代码从Festival移植,然后开源,开发停止。
  • MaryTTS - 功能更强大,生产就绪。

还有其他专有程序,如:

  • 的Acapella
  • Nuance Vocalizer

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

答案 4 :(得分:5)

我使用了提供JSAPI和MS SAPI钩子的AT&T Natural Voices。它提供优质的声音,良好的“通用”语音字典,多种语音控制和多种语言。它有点贵,但效果很好。

我用它来向移动传感器应用程序中的驱动程序读取重要的传感器遥测。我们没有关于语音质量的抱怨。通过科学术语,它具有大约75%的开箱即用精度,而对于正常的对话,它具有更高的(可能是90%以上)。我们通过使用标记来获得高达99%以上的准确率(大多数错误都是用不同的音素组合的科学术语)。

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

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

答案 5 :(得分:1)

非常感谢大家,诀窍在于FreeTTS来源。简而言之:如果以java -jar freetts.jar some-more-args-here运行,则它比以bin / Server.jar和bin / Client.jar的方式执行的语言更少。

答案 6 :(得分:1)

我使用了FreeTTS,但是在我的MacbookPro上运行MBrola语音时遇到了一个重大问题。我确实得到MBrola的声音在Windows(痛苦地)和Linux上运行。我没有运气在FreeTTS上加载任何其他声音包,这是一种耻辱,因为提供的声音是可怕的IMO。除此之外,Cloudgarden也取得了一些成功,但只能在Windows AFAIK上运行。我有兴趣听到其他语音引擎的成功/失败,因为这类工作特别具有挑战性。我也在玩Sphinx4。我昨晚刚刚关闭了JVXML(似乎是基于Sphinx4),但由于一些奇怪的原因无法让它运行。

答案 7 :(得分:1)

我为玛丽做出了贡献。我认为如果某人比我更聪明,将HMM的声音从核心中分离出来(这些声音不需要大型数据集和声音确定),它有潜力。我也试图做一个事件系统来让freetts在说出一个单词时发送事件。我已经取得了成功,但现在它在Linux中被打破了。 (可能是因为计时器错误)。

答案 8 :(得分:0)

我对MarryTTS感到很不舒服。它有多语言和清晰的声音可以理解。

T将语音转换为文本,更好的选择是sphinx4-5prealpha。 我给了一个拇指,因为它具有可调节,灵活性和可修改的识别器和语法。