2016-12-19 10 views
0

私はCognitive Services(Project Oxford)Bing Speech RecognitionサービスにMicrosoftのC#APIを使用しています。具体的には、Microsoft.ProjectOxford.SpeechRecognition-x64バージョン0.4.10.2を使用しています。音声認識結果を発話に関連づける確実な方法はありますか?

私はSendAudioEndAudioメソッドを使用してDataRecognitionClientにオーディオを送信し、OnResponseReceivedイベントを通じて認識仮説の最終セットを待ちます。私が取り組んでいる問題は、2つ以上の認識要求がある可能性があり、OnResponseReceivedハンドラに渡されたオブジェクトには、どの要求が応答であるかを示す情報が含まれていないということです。

  1. 人が発話Aを呼び出し、何かを言うと、私はSendAudio経由で送信し、それらが話し終わったら、次にEndAudioを呼び出します。

    はここで実際に何度も私に起こった例です。

  2. OnResponseReceived発言Aのイベントを得るのを待っている間、その人は何か別の言葉を発声Bと呼んでいます。SendAudioで送信し、話し終わったらEndAudioに電話してください。私はまだOnResponseReceivedイベントを取得していません。
  3. 私は最終的に私の最初のOnResponseReceivedイベントを取得します。
  4. 私は2番目のOnResponseReceivedイベントを取得します。

どのようにして応答を発声に正しく関連付けることができますか?

発言Aと発言Bを送信すると、まず発声Aの応答が得られるという発注保証はありますか?私はドキュメンテーションのその保証を見たことがありません。

+0

、ありません毎回スピーチのテキストが正確に正しいことを保証する方法はありますか? – EJoshuaS

+2

@EJoshuaSいいえ、私はOPが正しい応答が正しい音声入力と相関することを確実にする方法を知りたいと考えています。問題は、どの応答がどの音声と一緒に 'onResponseReceived'ハンドラで調整されているのかわからないことです。 –

答えて

1

すべての要求がasyc要求されているので、Aは常に私が推薦する最善のアプローチはrecognitionclientsのプールを作成し、すべての認識のためのいずれかを使用して依存関係を管理することであるB.後に来るという保証は

+0

ええ、私はそれを検討していた。ナッジ先送りに感謝します。 –