title: Real time speech recognition using WebRTC, Node.js and speech recognition engine
body: <p><strong>A. What I am trying to implement.</strong></p>
  
  <p>A web application allowing real-time speech recognition inside web browser (like <a href="https://www.google.com/intl/en/chrome/demos/speech.html">this</a>).</p>
  
  <p><strong>B. Technologies I am currently thinking of using to achieve A.</strong></p>
  
  <ul>
  <li>JavaScript</li>
  <li>Node.js</li>
  <li>WebRTC</li>
  <li>Microsoft Speech API or Pocketsphinx.js or something else (cannot use Web Speech API)</li>
  </ul>
  
  <p><strong>C. Very basic workflow</strong></p>
  
  <ol>
  <li>Web browser establishes connection to Node server (server acts as a signaling server and also serves static files)</li>
  <li>Web browser acquires audio stream using getUserMedia() and sends user's voice to Node server</li>
  <li>Node server passes audio stream being received to speech recognition engine for analysis</li>
  <li>Speech recognition engine returns result to Node server</li>
  <li>Node server sends text result back to initiating web browser</li>
  <li>(Node server performs step 1 to 5 to process requests from other browsers)</li>
  </ol>
  
  <p><strong>D. Questions</strong></p>
  
  <ol>
  <li>Would Node.js be suitable to achieve C?</li>
  <li>How could I pass received audio streams from my Node server to a speech recognition engine running separately from the server?</li>
  <li>Could my speech recognition engine be running as another Node application (if I use Pocketsphinx)?  So my Node server communicates to my Node speech recognition server.</li>
  </ol>