私が達成しようとしていること:
- C# で RTP ストリームをキャプチャする
- そのストリームを System.Speech.SpeechRecognitionEngine に転送します
マイク入力を受け取り、Microsoft 音声認識を使用して音声を処理し、応答をロボットに返す Windows マシンに送信する Linux ベースのロボットを作成しています。ロボットはサーバーから何百マイルも離れている可能性があるため、これをインターネット経由で行いたいと考えています。
私がこれまでに行ったこと:
- ロボットに、FFmpeg を使用して MP3 形式 (他の形式も利用可能) でエンコードされた RTP ストリームを生成させます (ロボットは、Arch Linux を実行している Raspberry Pi で実行されています)。
- VLC ActiveX コントロールを使用してクライアント コンピューターでキャプチャされたストリーム
- SpeechRecognitionEngine に使用可能なメソッドがあることがわかりました。
- 認識機能.SetInputToWaveStream()
- 認識機能.SetInputToAudioStream()
- 認識機能.SetInputToDefaultAudioDevice()
- アプリの出力をラインインに送信するために JACK を使用することを検討しましたが、完全に混乱していました。
助けが必要なこと:
VLC から SpeechRecognitionEngine にストリームを実際に送信する方法に行き詰まっています。VLC はストリームをまったく公開しません。ストリームをキャプチャして、そのストリーム オブジェクトを SpeechRecognitionEngine に渡す方法はありますか? それともRTPはここでの解決策ではありませんか?
よろしくお願いします。