1

如何在服务器端实现语音识别(请不要建议HTML5's x-webkit-speech,javascript等)?该程序将音频文件作为输入,并以足够的准确性提供音频文件的文本转录。我可以使用哪些选项?

我曾尝试使用 Voxforge 模型实现 Sphin4,但准确性太差(它们可能也是我的配置中的一些问题,我仍在尝试学习它)。在一篇文章中,我读到当我们使用<input name="speech" id="speech" type="text" x-webkit-speech />输入时,输入被发送到外部服务器,该服务器进行识别并将数据发送回浏览器。

如何设置该服务器?如果任何现有的开源服务器能够以最小的错误率识别英语句子,它也会很有用。

4

3 回答 3

3

您正在实施什么类型的应用程序?应用程序的目的是将用户语音输入转录成文本还是仅仅为了理解简单的命令?像 Sphinx4 这样的系统使用统计模型来转录语音。使用这些类型的系统,您将无法获得像使用语法来限制 ASR 的搜索空间以获得更好识别的自动语音识别 (ASR) 系统那样好的识别。使用统计模型的系统需要大量调整和试运行才能获得良好的认可。

Sphinx4 是我知道的唯一开源 ASR。有许多商业产品/服务,其中 Nuance 是市场上最大的。当识别率较低时,一些商业产品可以选择让人工转录信息。

谷歌有一个非官方的 API,它在内部用于谷歌语音等服务,我相信它与您引用的 webkit 使用的相同。Google Voice 会将语音邮件消息转录并通过电子邮件将文本发送给您。Google Voice 被认为是最先进的转录技术,但如果您有 Voice 帐户,您会发现转录的消息不是那么好。这是 一篇关于使用非官方 Google Speech API 的博客文章的链接

于 2012-01-18T13:33:42.777 回答
1

在 Chrome 中,该服务器是专有的 Google 服务器。您无法设置自己的版本。人们已经对服务器的调用进行了反向工程,例如,参见http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/,但这对于生产或商业应用程序,因为 Google 可能随时更改 API 或限制其访问。

这是另一个问题的旧答案,但它可能会有所帮助 - https://stackoverflow.com/a/6351055/90236

于 2012-01-18T13:22:06.530 回答
1

您有一些问题: 1. 如何在客户端捕获音频。2. 如何为服务器传输这些音频。3.如何做出认可。4.如何将识别和置信度分数回传。5. 你打算如何处理这些认可和信心分数(你的申请)。

对于第一种情况,您可以使用谷歌的方法,即某人点击麦克风图标,记录声音一段时间。或者,iPhone Siri,其中 VAD 用于录制音频。

其次,这是一个基本的 TCP/IP 文件传输问题。也可以使用 Apple / Google 方法并使用 Flac 或 Speex 压缩音频文件。

第三,这是真正困难的部分。您需要从 Voxforge 获得的更好的声学模型。对于像 Siri 这样的无上下文的连续语音识别来说尤其如此。对于命令,Voxforge 很好。

第四,这是另一个文件传输问题。

第五,它是你的应用程序。

困难的部分是语音识别部分。也许其他问题是如何为成千上万的用户扩展它。您可以使用 Julius 语音识别作为语音客户端来捕获音频。我们可以私下聊聊这个问题。

于 2012-01-18T13:56:12.963 回答