現在、ライブストリーミングシナリオでBing音声認識サービスを評価中です。 PCMでエンコードされたオーディオ(16kサンプル、16ビット、1チャンネル(別名モノラル))のライブストリームを取得し、これをBing Speech Recognitionサービスに送信しようとしています。私たちは、そのようにのようにループ内のオーディオストリームをストリーミングしている _dataRecognitionClient.SendAudioFormat(SpeechAudioFormat.create16BitPCMFormat(16000));
ビング音声認識サービス - SpeechClientの問題 "オーディオフォーマットを解析できませんでした"
:
は、我々は成功しそうのように、オーディオフォーマットを送る前に、オーディオ自体をストリーミングすることにより、私たちのシナリオでhttps://www.nuget.org/packages/Microsoft.ProjectOxford.SpeechRecognition-x64/からDataRecognitionClientを使用している
_dataRecognitionClient.SendAudio(buffer, bytesRead);
これは問題なく動作します。しかし、私たちが見る、異なるNugetパッケージにポイント(https://www.microsoft.com/cognitive-services/en-us/Speech-api/documentation/GetStarted/GetStartedCSharpServiceLibrary)公式ビング音声認識のウェブサイトから、ProjectOxfordライブラリは廃止れる可能性がありますことを前提としていますhttps://www.nuget.org/packages/Microsoft.Bing.Speech/
を私たちは、このパッケージからSpeechClientを使用しているとき、私たちは言及見ていますSpeechClientでRecognizeAsyncを実行すると、「オーディオ形式を解析できませんでした」というエラーが発生しました。
var speechInput = new SpeechInput(producerConsumerStream,
new RequestMetadata(Guid.NewGuid(), new DeviceMetadata(DeviceType.Near,
DeviceFamily.Desktop, NetworkType.Ethernet, OsName.Windows, "Azure",
"Microsoft", "Current"), new ApplicationMetadata("App", "1.0"), "Speech"));
await _speechClient.RecognizeAsync(speechInput, new CancellationToken());
最後の行でエラーが発生します。これは、PCMストリームがストリーミングしているので、WAVE/RIFFヘッダーがないためです。ストリーミングシナリオでは、DataRecognitionClientには "SendAudioFormat"メソッドがありました。
SpeechClientはストリーミングシナリオをサポートしていませんか?