SAPI 5.4 (MS Speech Platform SDK v11 も) を取得して、Skype 通話からの音声に対して継続的な音声認識を実行しようとしています。
SKYPE4COMLib を使用して、Skype から入ってくるオーディオを取得し、ALTER CALL 命令を発行して TCP ポート経由でプッシュできます。Skype オーディオをファイルまたは TCP ソケットに転送できます。ファイルは正常に機能しましたが、認識をライブで実行したいので、TCP ソケットを使用します。
次に、TCP リスナーを作成して受信データ (生のオーディオ形式) を収集し、バイト配列を MemoryStream として SAPI に渡します。16bit、16khz、モノラル、PCM の形式の生のオーディオを期待するように SAPI をセットアップしました。しかし、認識イベントは発生しない!?
代わりにその生の音声をディスクに保存してから、それを SAPI に読み込んでみましたが、正常に動作します...データ自体は問題なく、Skype は音声を正しく送信しています。ただし、これでは必要な継続的な認識を行うことができません。
SAPI 認識コードは、WAV ファイル、ディスクから読み込まれた生ファイル、またはマイクを使用して正常に動作します。私はそれをMemoryStreamから動作させることができません。
この類似の記事を見つけましたが、そこにある提案はどれも私にはうまくいかないようで、議論は静かになったようです.
System.Speech.Recognition.SpeechRecognitionEngine へのストリーミング入力
SAPI が C# で MemoryStream として送信された生の音声から音声を継続的に認識できるようにする方法に関するガイダンスはありますか?