跨浏览器语音识别
Posted
技术标签:
【中文标题】跨浏览器语音识别【英文标题】:Cross Browser Speech Recognition 【发布时间】:2014-11-05 12:12:58 【问题描述】:我目前正在处理 ASP.NET 中的一个项目。我需要添加适用于 IE/Chrome/Firefox 的语音命令。我搜索了很多,但没有找到任何跨浏览器的解决方案。
是否有任何 javascript 框架可以做到这一点? 我可以将 Google 网络语音 API 用作服务吗?
任何建议都会有所帮助。
【问题讨论】:
我最终创建了一个桌面服务,它使用 Microsoft 语音 API 来获取输入并转换为文本,然后通过 Web 套接字与浏览器进行通信。 【参考方案1】:您可以在Can I Use 上查看各种浏览器对语音识别的支持。目前只有 Chrome 可靠地支持语音识别。其他的则没有,包括 IE、Firefox 和 Safari。 Firefox 正在开发语音识别支持,但还没有。
如果您的浏览器支持getUserMedia录制音频,您可以录制音频并将其发送到服务器进行识别。如果你想识别几个简单的命令,你也可以使用 javascript-only 识别器Pocketsphinx.js。
在不支持 getUserMedia API 的浏览器上,您可以使用 Flash 对象或 Java 小程序来捕获音频。如果您优先考虑 IE,这几乎是您唯一的选择。
【讨论】:
我已经考虑过 Pocketsphinx.js。但我的客户在 IE 中给予更高的优先级。【参考方案2】:只要浏览器支持html5的getUserMedia API即可:
-
使用 HTML5 的 getUserMedia 捕获音频流
将其保存为 .WAV,有相应的库
通过 AJAX 将 .WAV 发送到服务器
通过 SetInputToWaveFile 方法将 .WAV 输入到 SpeechRecognitionEngine
获取结果并在 AJAX 调用中返回
一个例子:
http://weblogs.asp.net/ricardoperes/speech-recognition-in-asp-net
【讨论】:
以上是关于跨浏览器语音识别的主要内容,如果未能解决你的问题,请参考以下文章