A. 我要实现的是一个能够在网页浏览器内实时语音识别的Web应用程序(类似于这个)。
B. 我目前考虑使用以下技术来实现A:
- JavaScript - Node.js - WebRTC - Microsoft Speech API或 Pocketsphinx.js或其他一些语音识别引擎(不能使用Web Speech API)。
C. 基本工作流程如下:
1. 网页浏览器连接到Node服务器(服务器充当信令服务器,同时提供静态文件)。 2. 网页浏览器使用getUserMedia()获取音频流,并将用户的声音发送到Node服务器。 3. Node服务器将接收到的音频流传递给语音识别引擎进行分析。 4. 语音识别引擎将结果返回给Node服务器。 5. Node服务器将文本结果发送回发起请求的网页浏览器。 6. (Node服务器执行步骤1到5以处理来自其他浏览器的请求。)
D. 问题:
1. Node.js是否适合实现C? 2. 如何将从我的Node服务器接收到的音频流传递给与服务器分离运行的语音识别引擎? 3. 如果我使用Pocketsphinx,我的语音识别引擎是否可以作为另一个Node应用程序运行?这样我的Node服务器就可以与我的Node语音识别服务器进行通信。
B. 我目前考虑使用以下技术来实现A:
- JavaScript - Node.js - WebRTC - Microsoft Speech API或 Pocketsphinx.js或其他一些语音识别引擎(不能使用Web Speech API)。
C. 基本工作流程如下:
1. 网页浏览器连接到Node服务器(服务器充当信令服务器,同时提供静态文件)。 2. 网页浏览器使用getUserMedia()获取音频流,并将用户的声音发送到Node服务器。 3. Node服务器将接收到的音频流传递给语音识别引擎进行分析。 4. 语音识别引擎将结果返回给Node服务器。 5. Node服务器将文本结果发送回发起请求的网页浏览器。 6. (Node服务器执行步骤1到5以处理来自其他浏览器的请求。)
D. 问题:
1. Node.js是否适合实现C? 2. 如何将从我的Node服务器接收到的音频流传递给与服务器分离运行的语音识别引擎? 3. 如果我使用Pocketsphinx,我的语音识别引擎是否可以作为另一个Node应用程序运行?这样我的Node服务器就可以与我的Node语音识别服务器进行通信。