使用WebRTC,Node.js和语音识别引擎进行实时语音识别

答:我正在尝试实施。

一个Web应用程序,允许在Web浏览器内进行实时语音识别( 如此 )。

B.我目前正在考虑使用的技术来实现A.

  • JavaScript的
  • Node.js的
  • 的WebRTC
  • Microsoft Speech API或Pocketsphinx.js或其他东西(不能使用Web Speech API)

C.非常基本的工作stream程

  1. Web浏览器build立与节点服务器的连接(服务器充当信令服务器并且还提供静态文件)
  2. Web浏览器使用getUserMedia()获取audiostream并将用户语音发送到节点服务器
  3. 节点服务器将接收到的audiostream传递给语音识别引擎进行分析
  4. 语音识别引擎将结果返回给节点服务器
  5. 节点服务器将文本结果发回给启动Web浏览器
  6. (节点服务器执行步骤1到5来处理来自其他浏览器的请求)

D.问题

  1. Node.js是否适合实现C?
  2. 我怎样才能将接收到的audiostream从我的节点服务器传递到与服务器分开运行的语音识别引擎?
  3. 我的语音识别引擎是否可以作为另一个Node应用程序(如果使用Pocketsphinx)运行? 所以我的节点服务器与我的节点语音识别服务器通信。

       

网上收集的解决方案 "使用WebRTC,Node.js和语音识别引擎进行实时语音识别"

Node.js是否适合实现C?

是的,虽然对此没有硬性要求。 有些人用gstreamer运行服务器,例如检查

http://kaljurand.github.io/dictate.js/

节点也应该没问题。

我怎样才能将接收到的audiostream从我的节点服务器传递到与服务器分开运行的语音识别引擎?

节点间通信有很多种方法。 其中之一是http://socket.io 。 也有普通的sockets 。 特定的框架取决于您对容错和可扩展性的要求。

我的语音识别引擎是否可以作为另一个Node应用程序(如果使用Pocketsphinx)运行? 所以我的节点服务器与我的节点语音识别服务器通信。

是的,当然。 您可以创build一个节点模块来转换pocketsphinx API。

更新:检查这个,它应该类似于你所需要的:

http://github.com/cmusphinx/node-pocketsphinx

你应该在去年秋天的Firefox峰会上与Andre Natal进行联系,他现在正在使用Firefox / FxOS实现离线语音识别的Google Summer of Code项目: http ://cmusphinx.sourceforge.net/2014/ 04 /语音项目上,GSOC 2014 /