音声認識のタイムアウトを設定する

音声認識エンジンが無音または認識できない音 (babble) を無視し、音声入力のリッスンを続ける時間を設定します。

Important

音声認識には MSIX パッケージ ID が必要です。 Windows.Media.SpeechRecognition API は、アプリがパッケージ ID (パッケージ化または外部の場所でパッケージ化) で実行されている場合にのみ使用できます。 パッケージ化されていないアプリでは、これらの API を使用できません。

主要API

Overview

SpeechRecognizer.Timeouts プロパティは、3 つの構成可能なSpeechRecognizerTimeouts値を持つTimeSpan オブジェクトを返します。

プロパティ Description
InitialSilenceTimeout SpeechRecognizer が無音状態を検出してから、音声入力がないと判断して空の結果を確定するまでの時間。
EndSilenceTimeout 認識された音声の後で、SpeechRecognizer が結果を確定するまでに無音を検出する時間。
BabbleTimeout SpeechRecognizer が認識不能な音(babble)を聞き取り続けてから、音声入力が終了したと判断し、認識処理を確定するまでの時間。

タイムアウト値を設定する

// Set the initial silence timeout to 6 seconds.
speechRecognizer.Timeouts.InitialSilenceTimeout = TimeSpan.FromSeconds(6.0);

// Set the end silence timeout to 1.2 seconds.
speechRecognizer.Timeouts.EndSilenceTimeout = TimeSpan.FromSeconds(1.2);

// Set the babble timeout to 0 (infinite — keep listening).
speechRecognizer.Timeouts.BabbleTimeout = TimeSpan.FromSeconds(0);

Note

タイムアウト値は、認識セッションを開始する前に SpeechRecognizer で設定されます。 セッションを開始した後の変更は、次のセッションまで影響しません。