web-dev-qa-db-ja.com

WebRTC、Node.js、音声認識エンジンを使用したリアルタイムの音声認識

A。私が実装しようとしているもの。

Webブラウザ内でリアルタイムの音声認識を可能にするWebアプリケーション( this など)。

B。私が現在Aを達成するために使用することを考えているテクノロジー。

  • JavaScript
  • Node.js
  • WebRTC
  • Microsoft Speech APIまたはPocketsphinx.jsまたはその他(Web Speech APIは使用できません)

C。非常に基本的なワークフロー

  1. WebブラウザはNodeサーバーへの接続を確立します(サーバーはシグナリングサーバーとして機能し、静的ファイルも提供します)
  2. WebブラウザはgetUserMedia()を使用してオーディオストリームを取得し、ユーザーの音声をNodeサーバーに送信します
  3. ノードサーバーは、受信したオーディオストリームを分析のために音声認識エンジンに渡します。
  4. 音声認識エンジンは結果をNodeサーバーに返します
  5. ノードサーバーはテキスト結果を開始Webブラウザに送り返します
  6. (ノードサーバーはステップ1から5を実行して、他のブラウザーからの要求を処理します)

D。質問

  1. Node.jsはCを達成するのに適していますか?
  2. 受信したオーディオストリームをNodeサーバーからサーバーとは別に実行されている音声認識エンジンに渡すにはどうすればよいですか?
  3. 私の音声認識エンジンは別のNodeアプリケーション(Pocketsphinxを使用している場合)として実行できますか?したがって、私のNodeサーバーは私のNode音声認識サーバー。
11
jpen

Node.jsはCを達成するのに適していますか?

はい、そのための厳しい要件はありませんが。一部の人々はgstreamerでサーバーを実行しています、例えばチェック

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

ノードも問題ないはずです。

受信したオーディオストリームをNodeサーバーからサーバーとは別に実行されている音声認識エンジンに渡すにはどうすればよいですか?

ノード間通信には多くの方法があります。それらの1つは http://socket.io です。 プレーンソケット もあります。特定のフレームワークは、フォールトトレランスとスケーラビリティの要件によって異なります。

私の音声認識エンジンは別のNodeアプリケーション(Pocketsphinxを使用している場合)として実行できますか?したがって、私のNodeサーバーは私のNode音声認識サーバー。

はい、確かに。 PocketsphinxAPIをワープするノードモジュールを作成できます。

更新:これを確認してください。必要なものと同様である必要があります。

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

8
Nikolay Shmyrev

昨秋のFirefoxサミットでこれに類似したデモを示し、Firefox/FxOSでオフライン音声認識を実装するGoogleSummer of Codeプロジェクトに参加しているAndreNatalに連絡する必要があります: http://cmusphinx.sourceforge。 net/2014/04/spirit-projects-on-gsoc-2014 /

5
jesup