如何在服务器端实现语音识别(请不要建议HTML5's x-webkit-speech
,javascript等)?该程序将以一个音频文件作为输入,并以足够的准确性提供音频文件的文本转录。我可以选择什么?
我尝试过实现带Voxforge模型的Sphin4,但是它的准确性太差了(它们可能也是我的配置中的一些问题,我还在努力学习它)。在一篇文章中,我看到当我们使用<input name="speech" id="speech" type="text" x-webkit-speech />
时,输入被发送到、一个外部服务器、和那个服务器,而不是识别,并将数据发送回浏览器。
如何设置该服务器?任何现有的开源服务器如果能够以最小的错误率识别英语句子,也将是有用的。
发布于 2012-01-18 13:56:12
您有一些问题: 1.如何在客户端捕获音频。2.如何将这些音频传输给服务器。3.如何进行识别。4.如何将认知和信心分数调回。5.你打算如何处理这些认可和信心评分(你的申请)。
对于第一种情况,您可以使用Google方法,即有人在麦克风图标中单击,记录声音几次。或者,iPhone Siri,其中VAD用于录制音频。
第二,它是一个基本的TCP/IP文件传输问题。它也可以使用苹果/谷歌的方法和压缩音频文件使用Flac或Speex。
第三,这是真正困难的部分。你需要更好的声学模型,你可以从沃克斯福尔那里得到。这对于连续语音识别来说是特别的,像Siri这样的上下文无关。对于命令,沃克斯福尔很好。
第四,这是另一个文件传输问题。
第五,这是你的申请。
困难的部分是语音识别部分。也许其他的问题是如何对成千上万的用户进行扩展。您可以使用Julius语音识别作为语音客户端来捕获音频。我们可以私下多谈谈这个问题。
发布于 2012-01-18 13:33:42
您正在实现哪种类型的应用程序?应用程序的目的是将用户的语音输入转录成文本,还是只理解简单的命令?像Sphinx4这样的系统使用统计模型来进行语音的转录。对于这些类型的系统,您不会像使用语法限制搜索空间以获得更好识别的自动语音识别( ASR )系统那样获得良好的识别。使用统计模型的系统需要大量的调优和试运行才能获得良好的识别。
据我所知,Sphinx4是唯一的开源ASR。有许多商业产品/服务,其中Nuance是市场上最大的。一些商业产品可以选择在识别率较低的情况下让人类转录信息。
谷歌有一个非官方的API,它在内部使用的服务,如谷歌语音,我相信它是相同的一个使用的webkit你参考。谷歌语音将采取语音邮件信息,转录他们和电子邮件的文本给你。谷歌语音被认为是最先进的转录,但如果你有一个语音帐户,你会看到转录的信息不是那么伟大。这是关于使用非官方的Google的博客文章的链接。
发布于 2012-01-18 13:22:06
在Chrome中,该服务器是一个专有的Google。你不能设置你自己的版本。人们已经反向设计了对服务器的调用,例如http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/,但是对于生产或商业应用程序来说,这不是一个好主意,因为谷歌可能随时改变API或限制其访问。
对于另一个问题,这里有一个古老的答案,但它可能会有所帮助-- https://stackoverflow.com/a/6351055/90236
https://stackoverflow.com/questions/8906792
复制相似问题