文本到语音(语音生成)和语音到文本(语音识别)API?

Posted

技术标签:

【中文标题】文本到语音(语音生成)和语音到文本(语音识别)API?【英文标题】:Text-to-speech (voice generation) and speech-to-text (voice recognition) APIs? 【发布时间】:2011-09-14 23:32:15 【问题描述】:

是否有适用于桌面或浏览器环境的已知 API 的完整列表?

【问题讨论】:

这是一个非常广泛的问题。您对 API 或实现感兴趣吗?您是否可以选择任何语言或平台来限制这一点? 我知道很少有好的解决方案,所以我决定根据良好的文本到语音和语音到语音的可用性来选择平台(广义上)和编程语言给他们发短信。 【参考方案1】:

我将重新讨论并更新来自Speech recognition in C or Java or php? 的答案。这绝不是全面的,但它可能是你的开始


从几个月来观察这些问题,我发现大多数开发者的选择都是这样分解的:

Windows 用户 - 使用 .Net 或 Microsoft.Speech 的 System.Speech 功能并安装 Microsoft 提供的免费识别器。 Windows 7 包括一个完整的语音引擎。其他的可以免费下载。有一个用于相同引擎的 C++ API,称为 SAPI。请参阅http://msdn.microsoft.com/en-us/magazine/cc163663.aspx。或http://msdn.microsoft.com/en-us/library/ms723627(v=vs.85).aspx。有关适用于 Windows 的 Microsoft 引擎的更多背景信息 What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?

Linux 人 - Sphinx 似乎有很多追随者。见http://cmusphinx.sourceforge.net/和http://cmusphinx.sourceforge.net/wiki/

商业产品 - Nuance、Loquendo、AT&T、IBM、其他。每个都为各种语言提供自己的 SDK 和库。

在线服务-Nuance、Yapme、ispeech.org、vlingo等。 Nuance 改进了他们的开发人员计划,现在将给您free access to their services 进行开发。 Yap(我相信)最近是purchased by Amazon,所以我们可能会在那里看到一些变化。

当然这也可能有帮助 - http://en.wikipedia.org/wiki/List_of_speech_recognition_software

有一个 Java 语音 API。请参阅 Java Speech API http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/Recognition.html 中的 javax.speech.recognition。相信你还是要找到支持这个API的语音引擎。我不认为 Sphinx 完全支持它 - http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#support_jsapi

还有很多其他的 SO 问题: Need text to speech and speech recognition tools for Linux 和pyspeech (python) - Transcribe mp3 files? 谈论http://code.google.com/p/pyspeech/。你可能还想看看http://code.google.com/p/dragonfly/

【讨论】:

您错过的另一个非官方在线服务是 Google 的 Speech API。这是 Java 中一些 API 钩子的链接:github.com/The-Shadow/java-speech-api 我认为 Google 从未公开过他们的语音 API。人们已经对其进行了逆向工程并使用了它,但我不相信谷歌支持它供第三方使用。我相信它仅供 Chrome 浏览器或 android 操作系统使用。见***.com/a/12727910/90236 或***.com/a/7889565/90236 Google 的 API 可在 Chrome 上免费访问。我的网络应用程序实现:speechlogger.appspot.com【参考方案2】:

文本到语音(语音生成)的领先 API 供应商是 YAKiToMe! 和 iSpeech。 YAKiToMe!是我使用的那个,因为我最喜欢他们的语音质量,而且价格最低(大部分是免费的)。他们支持多种语言的男性和女性使用者。一些声音供应商,如 Acapella、Nuance、Loquendo 和 iVona,声音不错,但使用起来往往很昂贵。

【讨论】:

【参考方案3】:

您可以这样做: 注意:它是来自 google 的 api,所以它只适用于 chrome 浏览器。

(查看现场演示并在此处下载完整源代码http://purpledesign.in/blog/?p=33)

定义一个按钮

<input id="speech" type="text" speech="speech" x-webkit-speech="x-webkit-speech" onspeechchange="processspeech();" onwebkitspeechchange="processspeech();" />

并在您的 javascript 文件中定义您想要在函数中执行的操作

喜欢这个

   function processspeech()
   
     var speechtext=$("#speech").val();
     var elem = document.getElementById("test");
     elem.value = speechtext;
     var notification="\"<span style=\"color:#F00; text-transform:uppercase;\">"+  speechtext + "</span>\" <br />*Is this what you said???";
    notify(notification);

这里

<textarea> id="test"></textarea>

演讲稿写在文本区

【讨论】:

链接指向一个空的托管页面。

以上是关于文本到语音(语音生成)和语音到文本(语音识别)API?的主要内容,如果未能解决你的问题,请参考以下文章

VC++基于微软语音引擎开发语音识别总结

java 用于android的语音识别器(语音到文本)

在 Python 中使用 win32com.client 文本到语音/语音识别

语音识别到文本 Windows Phone 8

有没有办法将音频文件发送到语音到文本识别

有没有办法将语音中的“文本”保存为文本离子语音识别