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.

音声認識エンジンが発生、 SpeechDetectedSpeechHypothesizedSpeechRecognitionRejected、およびSpeechRecognizedイベント認識操作がエミュレートされていない場合と同様です。The 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.

注意

RecognitionResultエミュレートされた入力に対して音声認識エンジンによって生成されたオブジェクトの値を持つnullAudioプロパティ。The 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.");  
      }  
    }  
  }  
}  

注釈

音声認識エンジンが発生、 SpeechDetectedSpeechHypothesizedSpeechRecognitionRejected、およびSpeechRecognizedイベント認識操作がエミュレートされていない場合と同様です。The 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.

注釈

音声認識エンジンが発生、 SpeechDetectedSpeechHypothesizedSpeechRecognitionRejected、およびSpeechRecognizedイベント認識操作がエミュレートされていない場合と同様です。The 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. Vista および Windows 7 に付属しているレコグナイザー場合大文字小文字は無視、OrdinalIgnoreCaseまたはIgnoreCase値が存在します。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.

注釈

音声認識エンジンが発生、 SpeechDetectedSpeechHypothesizedSpeechRecognitionRejected、およびSpeechRecognizedイベント認識操作がエミュレートされていない場合と同様です。The 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. Vista および Windows 7 に付属しているレコグナイザー場合大文字小文字は無視、OrdinalIgnoreCaseまたはIgnoreCase値が存在します。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.

こちらもご覧ください

適用対象