Java:文本到语音引擎概述

时间:2020-03-06 14:49:20  来源:igfitidea点击:

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

我对FreeTTS所做的简短测试(在JSAPI impls页中列出的第一个)显示,它与阅读简单明了的单词(例如:ABC,黑板)相距甚远。其他测试目前正在进行中。

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

  • 我们使用了哪个基于Java的TTS框架?
  • 我们认为哪些语言可以读取最大的字库?
  • 他们的声音质量如何?
  • 他们的表现如何?
  • 有哪些带有Java绑定的非Java框架?
  • 我们会推荐其中哪一个?

预先感谢评论和建议。

解决方案

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

实际上,我在FreeTTS方面运气不错

非常感谢大家,这个窍门在FreeTTS源码中。简而言之:如果以java -jar freetts.jar some-more-args-here的身份运行,与以bin / Server.jar和bin / Client.jar方式执行时相比,它的单词拼写更少。

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

我用它来读取移动传感器应用程序中驱动程序的重要传感器遥测。我们对语音质量没有任何抱怨。如果使用科学术语,它的开箱即用准确度约为75%,如果使用正常对话,它的准确率要高得多(也许超过90%)。通过使用标记,我们将其达到了大约99 +%的准确性(大多数错误是科学术语,并带有不寻常的音素组合)。

在处理器上有点困难(我们在奔腾III等效的机器上运行,并且正在推动50%-75%的峰值CPU)。这使用带有Java接口的本地语音引擎(与Windows,Linux和Mac兼容)。

声音和语言种类繁多...

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

我为玛丽作了贡献。我觉得,如果有一个比我更聪明的人将HMM声音从核心中分离出来(那些声音不需要大数据集并且听起来还可以),这是有潜力的。我还试图建立一个事件系统,让freetts说出一个单词就发送事件。我已经取得了成功,但现在在Linux中已被打破。 (可能是由于计时器错误)。