使用WebRTC,Node.js和语音识别引擎进行实时语音识别
答:我正在尝试实施。
一个Web应用程序,允许在Web浏览器内进行实时语音识别( 如此 )。
B.我目前正在考虑使用的技术来实现A.
- JavaScript的
- Node.js的
- 的WebRTC
- Microsoft Speech API或Pocketsphinx.js或其他东西(不能使用Web Speech API)
C.非常基本的工作stream程
- Web浏览器build立与节点服务器的连接(服务器充当信令服务器并且还提供静态文件)
- Web浏览器使用getUserMedia()获取audiostream并将用户语音发送到节点服务器
- 节点服务器将接收到的audiostream传递给语音识别引擎进行分析
- 语音识别引擎将结果返回给节点服务器
- 节点服务器将文本结果发回给启动Web浏览器
- (节点服务器执行步骤1到5来处理来自其他浏览器的请求)
D.问题
- Node.js是否适合实现C?
- 我怎样才能将接收到的audiostream从我的节点服务器传递到与服务器分开运行的语音识别引擎?
- 我的语音识别引擎是否可以作为另一个Node应用程序(如果使用Pocketsphinx)运行? 所以我的节点服务器与我的节点语音识别服务器通信。
Node.js是否适合实现C?
是的,虽然对此没有硬性要求。 有些人用gstreamer运行服务器,例如检查
http://kaljurand.github.io/dictate.js/
节点也应该没问题。
我怎样才能将接收到的audiostream从我的节点服务器传递到与服务器分开运行的语音识别引擎?
节点间通信有很多种方法。 其中之一是http://socket.io 。 也有普通的sockets 。 特定的框架取决于您对容错和可扩展性的要求。
我的语音识别引擎是否可以作为另一个Node应用程序(如果使用Pocketsphinx)运行? 所以我的节点服务器与我的节点语音识别服务器通信。
是的,当然。 您可以创build一个节点模块来转换pocketsphinx API。
更新:检查这个,它应该类似于你所需要的:
你应该在去年秋天的Firefox峰会上与Andre Natal进行联系,他现在正在使用Firefox / FxOS实现离线语音识别的Google Summer of Code项目: http ://cmusphinx.sourceforge.net/2014/ 04 /语音项目上,GSOC 2014 /