SpeechRecognitionEngine.EmulateRecognizeAsync SpeechRecognitionEngine.EmulateRecognizeAsync SpeechRecognitionEngine.EmulateRecognizeAsync SpeechRecognitionEngine.EmulateRecognizeAsync Method

定義

非同期音声認識に音声ではなくテキストを使用して、音声認識エンジンに対する入力をエミュレートします。Emulates input to the speech recognizer, using text in place of audio for asynchronous speech recognition.

オーバーロード

EmulateRecognizeAsync(String) EmulateRecognizeAsync(String) EmulateRecognizeAsync(String) EmulateRecognizeAsync(String)

非同期音声認識に音声ではなくテキストを使用して、音声認識エンジンに対する語句の入力をエミュレートします。Emulates input of a phrase to the speech recognizer, using text in place of audio for asynchronous speech recognition.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

非同期音声認識にオーディオではなく RecognizedWordUnit の配列を使用して、共有された音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。Emulates input of specific words to the speech recognizer, using an array of RecognizedWordUnit objects in place of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

EmulateRecognizeAsync(String, CompareOptions) EmulateRecognizeAsync(String, CompareOptions) EmulateRecognizeAsync(String, CompareOptions)

非同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。Emulates input of a phrase to the speech recognizer, using text in place of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

注釈

これらのメソッドは、システムオーディオ入力をバイパスし、テキストをStringオブジェクトまたはオブジェクトのRecognizedWordUnit配列として認識エンジンに提供します。These methods bypass the system audio input and provide text to the recognizer as String objects or as an array of RecognizedWordUnit objects. これは、アプリケーションまたは文法をテストまたはデバッグするときに役立ちます。This can be helpful when you are testing or debugging an application or grammar. たとえば、エミュレーションを使用して、単語が文法に含まれるかどうか、および単語が認識されたときにどのようなセマンティクスが返されるかを判断できます。For example, you can use emulation to determine whether a word is in a grammar and what semantics are returned when the word is recognized. エミュレーション操作SetInputToNull中に音声認識エンジンへのオーディオ入力を無効にするには、メソッドを使用します。Use the SetInputToNull method to disable audio input to the speech recognition engine during emulation operations.

SpeechDetected音声認識エンジンはSpeechHypothesized SpeechRecognized 、認識操作がエミュレートされていないかのように、、、 、およびの各イベントを発生させます。SpeechRecognitionRejectedThe speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated. レコグナイザーが非同期認識操作を完了すると、イベントがEmulateRecognizeCompleted発生します。When the recognizer completes the asynchronous recognition operation, it raises the EmulateRecognizeCompleted event. レコグナイザーは、新しい行と余分な空白文字を無視し、句読点をリテラル入力として扱います。The recognizer ignores new lines and extra white space and treats punctuation as literal input.

注意

エミュレートされた入力への応答として音声認識エンジンによっnullて生成Audioされるオブジェクトのプロパティには、という値があります。RecognitionResultThe RecognitionResult object generated by the speech recognizer in response to emulated input has a value of null for its Audio property.

同期認識をエミュレートするにはEmulateRecognize 、メソッドを使用します。To emulate synchronous recognition, use the EmulateRecognize method.

EmulateRecognizeAsync(String) EmulateRecognizeAsync(String) EmulateRecognizeAsync(String) EmulateRecognizeAsync(String)

非同期音声認識に音声ではなくテキストを使用して、音声認識エンジンに対する語句の入力をエミュレートします。Emulates input of a phrase to the speech recognizer, using text in place of audio for asynchronous speech recognition.

public:
 void EmulateRecognizeAsync(System::String ^ inputText);
public void EmulateRecognizeAsync (string inputText);
member this.EmulateRecognizeAsync : string -> unit
Public Sub EmulateRecognizeAsync (inputText As String)

パラメーター

inputText
String String String String

認識操作の入力。The input for the recognition operation.

例外

認識エンジンに、読み込まれている音声認識文法がないか、認識エンジンに、未完了の非同期認識操作が存在しています。The recognizer has no speech recognition grammars loaded, or the recognizer has an asynchronous recognition operation that is not yet complete.

inputText が空の文字列 ("") です。inputText is the empty string ("").

次のコード例は、非同期のエミュレートされた入力、関連する認識結果、音声認識エンジンによって発生した関連イベントを示すコンソールアプリケーションの一部です。The code example below is part of a console application that demonstrates asynchronous emulated input, the associated recognition results, and the associated events raised by the speech recognizer. この例では、次の出力が生成されます。The example generates the following output.


TestRecognizeAsync("Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = Smith  
 EmulateRecognizeCompleted event raised.  
  Grammar = Smith; Text = Smith  
 Done.  

TestRecognizeAsync("Jones")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Jones; Text = Jones  
 EmulateRecognizeCompleted event raised.  
  Grammar = Jones; Text = Jones  
 Done.  

TestRecognizeAsync("Mister")...  
 SpeechDetected event raised.  
 SpeechHypothesized event raised.  
  Grammar = Smith; Text = mister  
 SpeechRecognitionRejected event raised.  
  Grammar = <not available>; Text =  
 EmulateRecognizeCompleted event raised.  
  No recognition result available.  
 Done.  

TestRecognizeAsync("Mister Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = mister Smith  
 EmulateRecognizeCompleted event raised.  
  Grammar = Smith; Text = mister Smith  
 Done.  

press any key to exit...  
using System;  
using System.Globalization;  
using System.Speech.Recognition;  
using System.Threading;  

namespace SreEmulateRecognizeAsync  
{  
  class Program  
  {  
    // Indicate when an asynchronous operation is finished.  
    static bool completed;  

    static void Main(string[] args)  
    {  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(new CultureInfo("en-US")))  
      {  
        // Load grammars.  
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));  
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));  

        // Configure the audio input.  
        recognizer.SetInputToNull();  

        // Add event handlers for the events raised by the  
        // EmulateRecognizeAsync method.  
        recognizer.SpeechDetected +=  
          new EventHandler<SpeechDetectedEventArgs>(  
            SpeechDetectedHandler);  
        recognizer.SpeechHypothesized +=  
          new EventHandler<SpeechHypothesizedEventArgs>(  
            SpeechHypothesizedHandler);  
        recognizer.SpeechRecognitionRejected +=  
          new EventHandler<SpeechRecognitionRejectedEventArgs>(  
            SpeechRecognitionRejectedHandler);  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(  
            SpeechRecognizedHandler);  
        recognizer.EmulateRecognizeCompleted +=  
          new EventHandler<EmulateRecognizeCompletedEventArgs>(  
            EmulateRecognizeCompletedHandler);  

        // Start four asynchronous emulated recognition operations.  
        TestRecognizeAsync(recognizer, "Smith");  
        TestRecognizeAsync(recognizer, "Jones");  
        TestRecognizeAsync(recognizer, "Mister");  
        TestRecognizeAsync(recognizer, "Mister Smith");  
      }  

      Console.WriteLine("press any key to exit...");  
      Console.ReadKey(true);  
    }  

    // Create a simple name grammar.  
    // Set the grammar name to the surname.  
    private static Grammar CreateNameGrammar(string surname)  
    {  
      GrammarBuilder builder = new GrammarBuilder("mister", 0, 1);  
      builder.Append(surname);  

      Grammar nameGrammar = new Grammar(builder);  
      nameGrammar.Name = surname;  

      return nameGrammar;  
    }  

    // Send emulated input to the recognizer for asynchronous  
    // recognition.  
    private static void TestRecognizeAsync(  
      SpeechRecognitionEngine recognizer, string input)  
    {  
      completed = false;  

      Console.WriteLine("TestRecognizeAsync(\"{0}\")...", input);  
      recognizer.EmulateRecognizeAsync(input);  

      // Wait for the operation to complete.  
      while (!completed)  
      {  
        Thread.Sleep(333);  
      }  

      Console.WriteLine(" Done.");  
      Console.WriteLine();  
    }  

    static void SpeechDetectedHandler(  
      object sender, SpeechDetectedEventArgs e)  
    {  
      Console.WriteLine(" SpeechDetected event raised.");  
    }  

    static void SpeechHypothesizedHandler(  
      object sender, SpeechHypothesizedEventArgs e)  
    {  
      Console.WriteLine(" SpeechHypothesized event raised.");  
      if (e.Result != null)  
      {  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  

    // Handle events.  
    static void SpeechRecognitionRejectedHandler(  
      object sender, SpeechRecognitionRejectedEventArgs e)  
    {  
      Console.WriteLine(" SpeechRecognitionRejected event raised.");  
      if (e.Result != null)  
      {  
        string grammarName;  
        if (e.Result.Grammar != null)  
        {  
          grammarName = e.Result.Grammar.Name ?? "<none>";  
        }  
        else  
        {  
          grammarName = "<not available>";  
        }  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          grammarName, e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  

    static void SpeechRecognizedHandler(  
      object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine(" SpeechRecognized event raised.");  
      if (e.Result != null)  
      {  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          e.Result.Grammar.Name ?? "<none>", e.Result.Text );  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  

    static void EmulateRecognizeCompletedHandler(  
      object sender, EmulateRecognizeCompletedEventArgs e)  
    {  
      Console.WriteLine(" EmulateRecognizeCompleted event raised.");  

      if (e.Error != null)  
      {  
        Console.WriteLine("  {0} exception encountered: {1}:",  
          e.Error.GetType().Name, e.Error.Message);  
      }  
      else if (e.Cancelled)  
      {  
        Console.WriteLine("  Operation cancelled.");  
      }  
      else if (e.Result != null)  
      {  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  

      completed = true;  
    }  
  }  
}  

注釈

SpeechDetected音声認識エンジンはSpeechHypothesized SpeechRecognized 、認識操作がエミュレートされていないかのように、、、 、およびの各イベントを発生させます。SpeechRecognitionRejectedThe speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated. レコグナイザーが非同期認識操作を完了すると、イベントがEmulateRecognizeCompleted発生します。When the recognizer completes the asynchronous recognition operation, it raises the EmulateRecognizeCompleted event.

Vista および Windows 7 に付属しているレコグナイザーは、文法規則を入力語句に適用するときに大文字と小文字の区別を無視します。The recognizers that ship with Vista and Windows 7 ignore case and character width when applying grammar rules to the input phrase. この種類の比較の詳細については、 CompareOptions列挙値OrdinalIgnoreCaseIgnoreWidth「」を参照してください。For more information about this type of comparison, see the CompareOptions enumeration values OrdinalIgnoreCase and IgnoreWidth. また、このレコグナイザーは新しい行と余分な空白を無視し、句読点をリテラル入力として扱います。The recognizers also ignore new lines and extra white space and treat punctuation as literal input.

こちらもご覧ください

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

非同期音声認識にオーディオではなく RecognizedWordUnit の配列を使用して、共有された音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。Emulates input of specific words to the speech recognizer, using an array of RecognizedWordUnit objects in place of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

public:
 void EmulateRecognizeAsync(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> unit

パラメーター

wordUnits
RecognizedWordUnit[]

認識操作のための必要を格納する単語単位の配列。An array of word units that contains the input for the recognition operation.

compareOptions
CompareOptions CompareOptions CompareOptions CompareOptions

エミュレートされた認識操作に使用する比較の種類を示す列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that describe the type of comparison to use for the emulated recognition operation.

例外

認識エンジンに、読み込まれている音声認識文法がないか、認識エンジンに、未完了の非同期認識操作が存在しています。The recognizer has no speech recognition grammars loaded, or the recognizer has an asynchronous recognition operation that is not yet complete.

wordUnits は 1 つ以上の null 要素を含みます。wordUnits contains one or more null elements.

compareOptionsIgnoreNonSpaceIgnoreSymbols、または StringSort フラグを含みます。compareOptions contains the IgnoreNonSpace, IgnoreSymbols, or StringSort flag.

注釈

SpeechDetected音声認識エンジンはSpeechHypothesized SpeechRecognized 、認識操作がエミュレートされていないかのように、、、 、およびの各イベントを発生させます。SpeechRecognitionRejectedThe speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated. レコグナイザーが非同期認識操作を完了すると、イベントがEmulateRecognizeCompleted発生します。When the recognizer completes the asynchronous recognition operation, it raises the EmulateRecognizeCompleted event.

認識エンジンはcompareOptions 、文法規則を入力語句に適用するときにを使用します。The recognizer uses compareOptions when it applies grammar rules to the input phrase. OrdinalIgnoreCaseまたはIgnoreCaseの値が存在する場合、Vista および Windows 7 に付属しているレコグナイザーは、大文字小文字を区別しません。The recognizers that ship with Vista and Windows 7 ignore case if the OrdinalIgnoreCase or IgnoreCase value is present. レコグナイザーは、文字幅を常に無視し、かなの種類を無視しません。The recognizers always ignore the character width and never ignore the Kana type. また、このレコグナイザーは新しい行と余分な空白を無視し、句読点をリテラル入力として扱います。The recognizers also ignore new lines and extra white space and treat punctuation as literal input. 文字幅とかなの種類の詳細についてはCompareOptions 、列挙体を参照してください。For more information about character width and Kana type, see the CompareOptions enumeration.

こちらもご覧ください

EmulateRecognizeAsync(String, CompareOptions) EmulateRecognizeAsync(String, CompareOptions) EmulateRecognizeAsync(String, CompareOptions)

非同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。Emulates input of a phrase to the speech recognizer, using text in place of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

public:
 void EmulateRecognizeAsync(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : string * System.Globalization.CompareOptions -> unit

パラメーター

inputText
String String String String

認識操作の入力語句。The input phrase for the recognition operation.

compareOptions
CompareOptions CompareOptions CompareOptions CompareOptions

エミュレートされた認識操作に使用する比較の種類を示す列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that describe the type of comparison to use for the emulated recognition operation.

例外

認識エンジンに、読み込まれている音声認識文法がないか、認識エンジンに、未完了の非同期認識操作が存在しています。The recognizer has no speech recognition grammars loaded, or the recognizer has an asynchronous recognition operation that is not yet complete.

inputText が空の文字列 ("") です。inputText is the empty string ("").

compareOptionsIgnoreNonSpaceIgnoreSymbols、または StringSort フラグを含みます。compareOptions contains the IgnoreNonSpace, IgnoreSymbols, or StringSort flag.

注釈

SpeechDetected音声認識エンジンはSpeechHypothesized SpeechRecognized 、認識操作がエミュレートされていないかのように、、、 、およびの各イベントを発生させます。SpeechRecognitionRejectedThe speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated. レコグナイザーが非同期認識操作を完了すると、イベントがEmulateRecognizeCompleted発生します。When the recognizer completes the asynchronous recognition operation, it raises the EmulateRecognizeCompleted event.

認識エンジンはcompareOptions 、文法規則を入力語句に適用するときにを使用します。The recognizer uses compareOptions when it applies grammar rules to the input phrase. OrdinalIgnoreCaseまたはIgnoreCaseの値が存在する場合、Vista および Windows 7 に付属しているレコグナイザーは、大文字小文字を区別しません。The recognizers that ship with Vista and Windows 7 ignore case if the OrdinalIgnoreCase or IgnoreCase value is present. レコグナイザーは、文字幅を常に無視し、かなの種類を無視しません。The recognizers always ignore the character width and never ignore the Kana type. また、このレコグナイザーは新しい行と余分な空白を無視し、句読点をリテラル入力として扱います。The recognizers also ignore new lines and extra white space and treat punctuation as literal input. 文字幅とかなの種類の詳細についてはCompareOptions 、列挙体を参照してください。For more information about character width and Kana type, see the CompareOptions enumeration.

こちらもご覧ください

適用対象