Audio 用于脚本WAV或MP3输出的文本到语音(TTS)软件

Audio 用于脚本WAV或MP3输出的文本到语音(TTS)软件,audio,windows-7,text-to-speech,Audio,Windows 7,Text To Speech,我问了这个问题,但大家都置若罔闻。希望我能在这里有更多的观众 我正在寻找一个低成本或免费的解决方案,就像只有一个更好的引擎。也就是说,读入脚本并为语音分配字符。我读过这篇文章,但即使是那些,我也不得不连接wav文件。并不是我不喜欢大胆,而是它很费时。我正在考虑写我自己的,但我相信一定有一个解决办法。有什么建议吗 我只有这些了 谷歌翻译使用eSpeak我会使用微软的文本语音引擎。他们有一个简单的例子,告诉你如何做你想要的事情: 使用该示例代码,您可以说出一些文本并将其转储到WAV文件中。从这里开始

我问了这个问题,但大家都置若罔闻。希望我能在这里有更多的观众

我正在寻找一个低成本或免费的解决方案,就像只有一个更好的引擎。也就是说,读入脚本并为语音分配字符。我读过这篇文章,但即使是那些,我也不得不连接wav文件。并不是我不喜欢大胆,而是它很费时。我正在考虑写我自己的,但我相信一定有一个解决办法。有什么建议吗

我只有这些了


谷歌翻译使用eSpeak

我会使用微软的文本语音引擎。他们有一个简单的例子,告诉你如何做你想要的事情:

使用该示例代码,您可以说出一些文本并将其转储到WAV文件中。从这里开始,如果您需要转换为MP3等格式,您可以使用FFMPEG。

非常棒,因为它正好包含您想要的内容。然而,它缺少了一个你在勘误表问题中表达出的偏好的基础:C语言的实现

访问托管代码中的语音API。完全归功于Blake Niemyjski和微软的相关团队,以下是最突出的部分,因为原始文章的链接已经失效,这似乎是直接从微软借来的:

以下为计算机提供语音的链接将引导您访问 Microsoft网站,该网站将向您展示如何创建项目并获取 基本的文本到语音应用程序在VB.Net或c中启动并运行 时间

萨皮

SAPI是允许应用程序访问语音的语音API 识别和文本到语音TTS引擎。本文的重点是 TTS。对于TTS,SAPI将文本作为输入,并使用TTS引擎 将该文本作为语音输出。这与 Windows辅助功能工具“讲述者”。Windows的每个版本 因为XP附带了SAPI和英语TTS引擎

TTS让用户的耳朵工作起来。它允许应用程序发送 无需用户的眼睛或手即可向用户提供信息。 这是一个非常强大的输出选项,在上不经常使用 个人电脑

在托管应用程序中使用TTS需要三个步骤:

创建互操作DLL 由于SAPI是一个COM组件,因此需要一个互操作DLL从中使用它 托管应用程序。要创建此项目,请在Visual Studio中打开该项目。 选择“项目”菜单,然后单击“添加参照”。选择COM选项卡, 在列表中选择Microsoft语音对象库,然后单击“确定”。 这些步骤将此引用添加到项目中并创建 Interop.SpeechLib.dll与可执行文件位于同一文件夹中。这 interop DLL必须始终与.exe位于同一文件夹中才能工作 没错

引用互操作命名空间 在应用程序中包含此命名空间。在C中,使用 演讲稿;;在VB中,添加“Imports SpeechLib”

电话讲话 创建SpVoice对象并调用Speak:

Visual C

SpVoice voice = new SpVoice();
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault);
Visual Basic

voice = New SpVoice
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault)

我觉得布拉德的回答让我找到了正确的解决方案,因此,他比我更值得表扬,但这应该是你错过的最后一块。现在,您应该能够将WAV文件从托管代码中复制到所需格式。

如果允许程序访问internet,则可以使用

你可以使用他们的,但不幸的是,每天只能使用200次


他们的API还允许在查询后附加format=wav | mp3,使您可以获得两种所需格式的声音。

您知道哪些编程语言?我希望找到一些已经编写好的语言。我是一个代码猴子,从BASIC有行号开始就一直在编程。然而,C是我用来开发的,请看我的帖子。有一个VB解决方案,您可以轻松地适应.NET。如果你想要一些已经写好的东西,那么你会想去别处看看。堆栈溢出用于编程问题。C既可以通过COM访问DirectShow,也可以使用另一个.NET库。选择此答案是因为它的完整性,而且它对我来说是独一无二的。我知道Microsoft的文本到语音引擎