【问题标题】:Java phonetics or language pronounciation语言发音的Java语音学
【发布时间】:2012-04-28 16:35:19
【问题描述】:

我目前正在为学校制作一个项目,我将在其中制作一个教孩子如何阅读的程序。我对该程序的基本想法是生成句子,然后让 Windows Anna 说出它。我的问题是,如何通过 Java 访问 Winodws Anna?有没有更好的方法呢?

谢谢

【问题讨论】:

标签: java audio text-to-speech


【解决方案1】:

如果让程序访问互联网是可以接受的,那么您可以使用iSpeech

您可以使用他们的API,但问题是它仅限于每天 200 次使用。

iSpeech 的声音听起来不错,通常比我已经厌倦的其他 TTS 引擎(如 espeakFreeTTS)更优美,因为它实际上发音更流利。当然,它可能发音为“风”,与空气有关,作为“风”,与扭曲有关,但除此之外,它说得很好。

另外,虽然我之前没有这方面的经验,但我找到了一篇文章,向您展示了如何使用命令行访问 MS Speech(显然可以通过 Java 进行命令[如果您不知道如何,请点击此处是一个很好的article])。它位于here。在命令行中,您只需输入 'SayDynamic.exe* 你要说的文字'。

*或 SayStatic,页面上提供的其他下载。

这种方法在速度和不依赖互联网访问方面似乎更好,但它绝对不会像 iSpeech 那样发音。我想您的程序最理想的做法是在线时使用 iSpeech,离线时使用 Say*.exe。

该网站还提供了该程序的源代码。您可能会注意到,这不是 Microsoft Anna 的声音,但您可以在源代码中指定并重新编译它。

希望我能帮上忙!

【讨论】:

  • 是的,这个程序可以上网了。
  • 您好,我无法打开您显示如何使用 MS 语音的链接。
  • 啊,是的...该站点似乎已关闭。我现在正在将可执行文件上传到 DropBox。完成后,它将可以从dl.dropbox.com/u/67341745/SayDynamic.exehttp://dl.dropbox.com/u/… 下载。这只是编译后的可执行文件:您必须等待站点恢复才能获取源代码。
  • 非常感谢,当我执行此操作时,我会执行类似SayDynamic.exe 'whatever' 的操作
【解决方案2】:

您可以使用命令行实用程序NirCmd,它使用安装在 Windows 上的文本转语音 API。

因此,将此实用程序与您的 java 应用程序一起提供并使用适当的命令行运行它。

【讨论】:

  • 这个程序并不是说全文。你有其他选择吗?
【解决方案3】:

你可以试试FreeTTS:一个用java写的语音合成器。

您可以尝试调用 Microsoft Speech API (SAPI),但我不知道如何在 java 中进行。

你能告诉我们你是如何调用 NirCmd 的吗? 作为 NirCmd 的替代方案,您可以在 C# 中构建自己的工具来读取文本。文本可以在 txt 中,并且您的工具使用该 txt 的路径作为参数调用。你可以很容易地改编一个像这样的演示项目:http://www.codeproject.com/Articles/19334/Text-to-Speech-using-Windows-SAPI

【讨论】:

  • 抱歉延迟响应,但我使用 Runtime.exec() 调用了 NirCmd,是否有替代方法?
  • 我在谈论争论。尝试使用“说话文件”参数。
【解决方案4】:

有Windows的Speech平台 http://www.microsoft.com/en-us/download/details.aspx?id=27226

语音运行时 http://www.microsoft.com/en-us/download/details.aspx?id=27225

您可以使用 JNA(不是 JNI)与来自 java 的 dll 进行交互 https://github.com/twall/jna

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多