首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java语音或语言发音

Java语音或语言发音
EN

Stack Overflow用户
提问于 2012-04-17 18:31:07
回答 4查看 1.7K关注 0票数 6

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

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-18 00:10:37

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

你可以使用他们的API,但问题是它每天只能使用200次。

iSpeech的声音听起来很不错,通常比我试过的其他espeakFreeTTS引擎更精致,因为它实际上发音更流利。当然,它可能会读“Wind”,与空气有关,与“Wind”有关,与扭曲有关,但除此之外,它说得很好。

此外,虽然我以前没有任何经验,但我找到了一篇文章,向您展示了如何使用命令行访问MS Speech (显然可以通过Javaif you do not know how, here is a good [article]进行命令)。它位于here。在命令行中,你所要做的就是输入'SayDynamic.exe* the text you to to‘。

*或SayStatic,这是页面上提供的另一个下载。

这种方法在速度上似乎更好,而且不依赖于互联网接入,但它肯定不像iSpeech那样发音好。我想对你的程序来说,最理想的做法是在联机时使用iSpeech,在脱机时使用Say*.exe。

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

希望我能帮上忙!

票数 3
EN

Stack Overflow用户

发布于 2012-04-17 18:50:30

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

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-14 20:40:46

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10189512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档