13

getUserMediaOpus を使用して、または最新のブラウザーから同様のものに直接アクセスできるかどうかを確認したいと思います。

私はそれについて多くのことを研究してきましたが、良い結果はありません。

Opus または Speex のいずれかが実際にwebkitSpeechRecognitionAPI で使用されていることは承知しています。音声認識を行いたいのですが、Google ではなく独自のサーバーを使用しています。

4

4 に答える 4

16

Emscripten については多くの提案がありますが、誰も行っていないので、Emscripten を使用してエンコーダopus-toolsを JavaScript に移植しました。何を念頭に置いているかに応じて、次の機会があります。

于 2014-12-24T05:37:15.327 に答える
4

getUserMedia で gsm610 を使用してエンコードとデコードに emscripten を使用していますが、モバイル デバイスでも非常にうまく機能します。最近では、javascript はほぼネイティブのパフォーマンスを提供するため、emscripten はコーデックのコンパイルに適しています。唯一の問題は、潜在的に非常に大きな .js ファイルであるため、使用している部分のみをコンパイルする必要があります。

于 2014-02-24T00:58:08.650 に答える
3

残念ながら、現時点ではエンコードのために JavaScript からブラウザのコーデックに直接アクセスすることはできません。それを行う唯一の方法は、WebRTC を利用してサーバーに記録を設定することです。libjingle を Chromium の他のコードでコンパイルして、Node.js サーバーで実行できるようにしましたが、ほとんど不可能です。

現在できることは生の PCM データをサーバーに送信することだけです。これはかなりの帯域幅を占有しますが、float32 サンプルを 16 ビット (音声認識で処理できる場合は 8 ビット) に変換することで、これを最小限に抑えることができます。

ブラウザ コーデックを使用できるように、メディア レコーダー API がすぐに表示されることを願っています。

于 2013-12-12T17:02:51.667 に答える
3

これは完全な解決策ではありません.@Bradの答えは、現時点では実際には正しいものです.

これを行う 1 つの方法は、 Opus を Emscriptenにコンパイルし、PC が JavaScript を使用してエンコーディングを処理できることを期待することです。もう 1 つの方法は、speex.jsを使用することです。

于 2013-12-15T12:55:03.457 に答える