SpeechRecognitionEngine.EmulateRecognize SpeechRecognitionEngine.EmulateRecognize SpeechRecognitionEngine.EmulateRecognize SpeechRecognitionEngine.EmulateRecognize Method

定義

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

オーバーロード

EmulateRecognize(String) EmulateRecognize(String) EmulateRecognize(String) EmulateRecognize(String)

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

EmulateRecognize(RecognizedWordUnit[], CompareOptions) EmulateRecognize(RecognizedWordUnit[], CompareOptions) EmulateRecognize(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognize(String, CompareOptions) EmulateRecognize(String, CompareOptions) EmulateRecognize(String, CompareOptions)

同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。Emulates input of a phrase to the speech recognizer, using text in place of audio for synchronous 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. レコグナイザーは、新しい行と余分な空白文字を無視し、句読点をリテラル入力として扱います。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.

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

EmulateRecognize(String) EmulateRecognize(String) EmulateRecognize(String) EmulateRecognize(String)

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

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult

パラメーター

inputText
String String String String

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

戻り値

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

例外

認識エンジンに読み込まれている音声認識文法がありません。The recognizer has no speech recognition grammars loaded.

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

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

TestRecognize("Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = Smith  
...Recognition result text = Smith  

TestRecognize("Jones")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Jones; Text = Jones  
...Recognition result text = Jones  

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

TestRecognize("Mister Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = mister Smith  
...Recognition result text = mister Smith  

press any key to exit...  

using System;  
using System.Globalization;  
using System.Speech.Recognition;  

namespace Sre_EmulateRecognize  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(new CultureInfo("en-US")))  
      {  

        // Load grammars.  
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));  
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));  

        // Disable audio input to the recognizer.  
        recognizer.SetInputToNull();  

        // Add handlers for events raised by the EmulateRecognize 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);  

        // Start four synchronous emulated recognition operations.  
        TestRecognize(recognizer, "Smith");  
        TestRecognize(recognizer, "Jones");  
        TestRecognize(recognizer, "Mister");  
        TestRecognize(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 synchronous recognition.  
    private static void TestRecognize(  
      SpeechRecognitionEngine recognizer, string input)  
    {  
      Console.WriteLine("TestRecognize(\"{0}\")...", input);  
      RecognitionResult result =  
        recognizer.EmulateRecognize(input,CompareOptions.IgnoreCase);  
      if (result != null)  
      {  
        Console.WriteLine("...Recognition result text = {0}",  
          result.Text ?? "<null>");  
      }  
      else  
      {  
        Console.WriteLine("...No recognition result.");  
      }  
      Console.WriteLine();  
    }  

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

    // Handle events.  
    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.");  
      }  
    }  

    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.");  
      }  
    }  
  }  
}  

注釈

SpeechDetected音声認識エンジンはSpeechHypothesized SpeechRecognized 、認識操作がエミュレートされていないかのように、、、 、およびの各イベントを発生させます。SpeechRecognitionRejectedThe speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated.

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.

こちらもご覧ください

EmulateRecognize(RecognizedWordUnit[], CompareOptions) EmulateRecognize(RecognizedWordUnit[], CompareOptions) EmulateRecognize(RecognizedWordUnit[], CompareOptions)

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

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

パラメーター

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.

戻り値

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

例外

認識エンジンに読み込まれている音声認識文法がありません。The recognizer has no speech recognition grammars loaded.

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.

認識エンジンは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 recognizer always ignores the character width and never ignores the Kana type. また、このレコグナイザーは、新しい行と余分な空白を無視し、句読点をリテラル入力として扱います。The recognizer also ignores new lines and extra white space and treats punctuation as literal input. 文字幅とかなの種類の詳細についてはCompareOptions 、列挙体を参照してください。For more information about character width and Kana type, see the CompareOptions enumeration.

こちらもご覧ください

EmulateRecognize(String, CompareOptions) EmulateRecognize(String, CompareOptions) EmulateRecognize(String, CompareOptions)

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

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult

パラメーター

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.

戻り値

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

例外

認識エンジンに読み込まれている音声認識文法がありません。The recognizer has no speech recognition grammars loaded.

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.

認識エンジンは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 recognizer always ignores the character width and never ignores the Kana type. また、このレコグナイザーは、新しい行と余分な空白を無視し、句読点をリテラル入力として扱います。The recognizer also ignores new lines and extra white space and treats punctuation as literal input. 文字幅とかなの種類の詳細についてはCompareOptions 、列挙体を参照してください。For more information about character width and Kana type, see the CompareOptions enumeration.

こちらもご覧ください

適用対象