2016-12-13 7 views
1

現在、ライブストリーミングシナリオで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はストリーミングシナリオをサポートしていませんか?

答えて