SpeechRecognitionEngine.Recognize SpeechRecognitionEngine.Recognize SpeechRecognitionEngine.Recognize SpeechRecognitionEngine.Recognize Method

定義

同期音声認識操作を開始します。Starts a synchronous speech recognition operation.

オーバーロード

Recognize() Recognize() Recognize() Recognize()

同期音声認識操作を実行します。Performs a synchronous speech recognition operation.

Recognize(TimeSpan) Recognize(TimeSpan) Recognize(TimeSpan) Recognize(TimeSpan)

指定した最初のサイレント状態のタイムアウト期間の同期音声認識の操作を実行します。Performs a synchronous speech recognition operation with a specified initial silence timeout period.

注釈

これらのメソッドは、単一の同期認識操作を実行します。These methods perform a single, synchronous recognition operation. レコグナイザーは、読み込まれ、有効になっている音声認識文法に対してこの操作を実行します。The recognizer performs this operation against its loaded and enabled speech recognition grammars.

このメソッドの呼び出し中に、レコグナイザーは次のイベントを発生させることができます。During a call to this method, the recognizer can raise the following events:

いずれかRecognizeCompleted Recognizeのメソッドを使用する場合、レコグナイザーはイベントを発生させません。The recognizer does not raise the RecognizeCompleted event when using one of the Recognize methods.

メソッドは、 RecognitionResult オブジェクトnullを返します。操作が失敗した場合、またはレコグナイザーが有効になっていない場合はを返します。 RecognizeThe Recognize methods return a RecognitionResult object, or null if the operation is not successful or the recognizer is not enabled.

同期認識操作は、次の理由により失敗する可能性があります。A synchronous recognition operation can fail for the following reasons:

  • BabbleTimeoutまたはInitialSilenceTimeout Recognizeプロパティ、またはメソッドのパラメーターについて、タイムアウト間隔が経過する前に音声が検出されません。initialSilenceTimeoutSpeech is not detected before the timeout intervals expire for the BabbleTimeout or InitialSilenceTimeout properties, or for the initialSilenceTimeout parameter of the Recognize method.

  • 認識エンジンは音声を検出しますが、読み込まれて有効になっGrammarているオブジェクトのいずれにも一致するものが見つかりません。The recognition engine detects speech but finds no matches in any of its loaded and enabled Grammar objects.

認識に関して認識エンジンが音声や無音のタイミングをどのように処理するかBabbleTimeoutを変更EndSilenceTimeoutするにEndSilenceTimeoutAmbiguousは、、、、およびのInitialSilenceTimeout各プロパティを使用します。To modify how the recognizer handles the timing of speech or silence with respect to recognition, use the BabbleTimeout, InitialSilenceTimeout, EndSilenceTimeout, and EndSilenceTimeoutAmbiguous properties.

認識SpeechRecognitionEngineを実行するにはGrammar 、少なくとも1つのオブジェクトが読み込まれている必要があります。The SpeechRecognitionEngine must have at least one Grammar object loaded before performing recognition. 音声認識の文法を読み込むにLoadGrammarは、メソッドまたはLoadGrammarAsyncメソッドを使用します。To load a speech recognition grammar, use the LoadGrammar or LoadGrammarAsync method.

非同期認識を実行するには、いずれRecognizeAsyncかのメソッドを使用します。To perform asynchronous recognition, use one of the RecognizeAsync methods.

Recognize() Recognize() Recognize() Recognize()

同期音声認識操作を実行します。Performs a synchronous speech recognition operation.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

戻り値

入力の認識結果。操作が不適切だったり、認識エンジンが有効でない場合は nullThe recognition result for the input, or null if the operation is not successful or the recognizer is not enabled.

次の例は、基本的な音声認識を示すコンソールアプリケーションの一部を示しています。The following example shows part of a console application that demonstrates basic speech recognition. この例ではDictationGrammar、を作成し、インプロセス音声認識エンジンに読み込み、1つの認識操作を実行します。The example creates a DictationGrammar, loads it into an in-process speech recognizer, and performs one recognition operation.

  
using System;  
using System.Speech.Recognition;  
  
namespace SynchronousRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  
  
        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  
  
        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  
  
        // Modify the initial silence time-out value.  
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);  
  
        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize();  
  
        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  
  
      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

注釈

このメソッドは、単一の認識操作を実行します。This method performs a single recognition operation. レコグナイザーは、読み込まれ、有効になっている音声認識文法に対してこの操作を実行します。The recognizer performs this operation against its loaded and enabled speech recognition grammars.

このメソッドの呼び出し中に、レコグナイザーは次のイベントを発生させることができます。During a call to this method, the recognizer can raise the following events:

このメソッドを使用する場合RecognizeCompleted 、レコグナイザーはイベントを発生させません。The recognizer does not raise the RecognizeCompleted event when using this method.

メソッドは、 RecognitionResultオブジェクトを返しますnull 。操作が失敗した場合はを返します。 Recognize()The Recognize() method returns a RecognitionResult object, or null if the operation is not successful.

同期認識操作は、次の理由により失敗する可能性があります。A synchronous recognition operation can fail for the following reasons:

  • BabbleTimeoutまたはInitialSilenceTimeoutプロパティのタイムアウト間隔が経過する前に、音声が検出されません。Speech is not detected before the timeout intervals expire for the BabbleTimeout or InitialSilenceTimeout properties.

  • 認識エンジンは音声を検出しますが、読み込まれて有効になっGrammarているオブジェクトのいずれにも一致するものが見つかりません。The recognition engine detects speech but finds no matches in any of its loaded and enabled Grammar objects.

非同期認識を実行するには、いずれRecognizeAsyncかのメソッドを使用します。To perform asynchronous recognition, use one of the RecognizeAsync methods.

こちらもご覧ください

Recognize(TimeSpan) Recognize(TimeSpan) Recognize(TimeSpan) Recognize(TimeSpan)

指定した最初のサイレント状態のタイムアウト期間の同期音声認識の操作を実行します。Performs a synchronous speech recognition operation with a specified initial silence timeout period.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

パラメーター

initialSilenceTimeout
TimeSpan TimeSpan TimeSpan TimeSpan

音声認識エンジンが認識を終了するまでに無音のみを含む入力を受け入れる時間間隔。The interval of time a speech recognizer accepts input containing only silence before finalizing recognition.

戻り値

入力の認識結果。操作が不適切だったり、認識エンジンが有効でない場合は nullThe recognition result for the input, or null if the operation is not successful or the recognizer is not enabled.

次の例は、基本的な音声認識を示すコンソールアプリケーションの一部を示しています。The following example shows part of a console application that demonstrates basic speech recognition. この例ではDictationGrammar、を作成し、インプロセス音声認識エンジンに読み込み、1つの認識操作を実行します。The example creates a DictationGrammar, loads it into an in-process speech recognizer, and performs one recognition operation.

  
using System;  
using System.Speech.Recognition;  
  
namespace SynchronousRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  
        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  
  
        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  
  
        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));  
  
        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  
  
      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

注釈

音声認識エンジンが、引数でinitialSilenceTimeout指定された時間間隔内に音声を検出すると、はRecognize(TimeSpan)単一の認識操作を実行して終了します。If the speech recognition engine detects speech within the time interval specified by initialSilenceTimeout argument, Recognize(TimeSpan) performs a single recognition operation and then terminates. パラメーター initialSilenceTimeoutは、レコグナイザーのInitialSilenceTimeoutプロパティよりも優先されます。The initialSilenceTimeout parameter supersedes the recognizer's InitialSilenceTimeout property.

このメソッドの呼び出し中に、レコグナイザーは次のイベントを発生させることができます。During a call to this method, the recognizer can raise the following events:

このメソッドを使用する場合RecognizeCompleted 、レコグナイザーはイベントを発生させません。The recognizer does not raise the RecognizeCompleted event when using this method.

メソッドは、 RecognitionResultオブジェクトを返しますnull 。操作が失敗した場合はを返します。 Recognize()The Recognize() method returns a RecognitionResult object, or null if the operation is not successful.

同期認識操作は、次の理由により失敗する可能性があります。A synchronous recognition operation can fail for the following reasons:

  • またはBabbleTimeout initialSilenceTimeoutパラメーターについて、タイムアウト間隔が経過する前に音声が検出されません。Speech is not detected before the timeout intervals expire for the BabbleTimeout or for the initialSilenceTimeout parameter.

  • 認識エンジンは音声を検出しますが、読み込まれて有効になっGrammarているオブジェクトのいずれにも一致するものが見つかりません。The recognition engine detects speech but finds no matches in any of its loaded and enabled Grammar objects.

非同期認識を実行するには、いずれRecognizeAsyncかのメソッドを使用します。To perform asynchronous recognition, use one of the RecognizeAsync methods.

こちらもご覧ください

適用対象