Share via


SpeechRecognitionEngine Constructors

Definition

Initializes a new instance of the SpeechRecognitionEngine class.

Overloads

SpeechRecognitionEngine()

Initializes a new instance of the SpeechRecognitionEngine class using the default speech recognizer for the system.

SpeechRecognitionEngine(CultureInfo)

Initializes a new instance of the SpeechRecognitionEngine class using the default speech recognizer for a specified locale.

SpeechRecognitionEngine(RecognizerInfo)

Initializes a new instance of the SpeechRecognitionEngine using the information in a RecognizerInfo object to specify the recognizer to use.

SpeechRecognitionEngine(String)

Initializes a new instance of the SpeechRecognitionEngine class with a string parameter that specifies the name of the recognizer to use.

Remarks

You can construct a SpeechRecognitionEngine instance from any of the following:

  • The default speech recognition engine for the system

  • A specific speech recognition engine that you specify by name

  • The default speech recognition engine for a locale that you specify

  • A specific recognition engine that meets the criteria that you specify in a RecognizerInfo object.

Before the speech recognizer can begin recognition, you must load at least one speech recognition grammar and configure the input for the recognizer.

To load a grammar, call the LoadGrammar or LoadGrammarAsync method.

To configure the audio input, use one of the following methods:

SpeechRecognitionEngine()

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Initializes a new instance of the SpeechRecognitionEngine class using the default speech recognizer for the system.

public:
 SpeechRecognitionEngine();
public SpeechRecognitionEngine ();
Public Sub New ()

Remarks

Before the speech recognizer can begin speech recognition, you must load at least one recognition grammar and configure the input for the recognizer.

To load a grammar, call the LoadGrammar or LoadGrammarAsync method.

To configure the audio input, use one of the following methods:

Applies to

SpeechRecognitionEngine(CultureInfo)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Initializes a new instance of the SpeechRecognitionEngine class using the default speech recognizer for a specified locale.

public:
 SpeechRecognitionEngine(System::Globalization::CultureInfo ^ culture);
public SpeechRecognitionEngine (System.Globalization.CultureInfo culture);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Globalization.CultureInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (culture As CultureInfo)

Parameters

culture
CultureInfo

The locale that the speech recognizer must support.

Exceptions

None of the installed speech recognizers support the specified locale, or culture is the invariant culture.

Culture is null.

Examples

The following example shows part of a console application that demonstrates basic speech recognition, and initializes a speech recognizer for the en-US locale.

using System;  
using System.Speech.Recognition;  

namespace SpeechRecognitionApp  
{  
  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());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized +=   
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

Remarks

Microsoft Windows and the System.Speech API accept all valid language-country codes. To perform speech recognition using the language specified in the CultureInfo argument, a speech recognition engine that supports that language-country code must be installed. The speech recognition engines that shipped with Microsoft Windows 7 work with the following language-country codes.

  • en-GB. English (United Kingdom)

  • en-US. English (United States)

  • de-DE. German (Germany)

  • es-ES. Spanish (Spain)

  • fr-FR. French (France)

  • ja-JP. Japanese (Japan)

  • zh-CN. Chinese (China)

  • zh-TW. Chinese (Taiwan)

Two-letter language codes such as "en", "fr", or "es" are also permitted.

Before the speech recognizer can begin recognition, you must load at least one speech recognition grammar and configure the input for the recognizer.

To load a grammar, call the LoadGrammar or LoadGrammarAsync method.

To configure the audio input, use one of the following methods:

Applies to

SpeechRecognitionEngine(RecognizerInfo)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Initializes a new instance of the SpeechRecognitionEngine using the information in a RecognizerInfo object to specify the recognizer to use.

public:
 SpeechRecognitionEngine(System::Speech::Recognition::RecognizerInfo ^ recognizerInfo);
public SpeechRecognitionEngine (System.Speech.Recognition.RecognizerInfo recognizerInfo);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Speech.Recognition.RecognizerInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerInfo As RecognizerInfo)

Parameters

recognizerInfo
RecognizerInfo

The information for the specific speech recognizer.

Examples

The following example shows part of a console application that demonstrates basic speech recognition, and initializes a speech recognizer that supports the English language.

 using System;  
using System.Speech.Recognition;  

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

      // Select a speech recognizer that supports English.  
      RecognizerInfo info = null;  
      foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())  
      {  
        if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))  
        {  
          info = ri;  
          break;  
        }  
      }  
      if (info == null) return;  

      // Create the selected recognizer.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(info))  
      {  

        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized +=   
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

Remarks

You can create an instance of this class for any of the installed speech recognizers. To get information about which recognizers are installed, use the InstalledRecognizers method.

Before the speech recognizer can begin recognition, you must load at least one speech recognition grammar and configure the input for the recognizer.

To load a grammar, call the LoadGrammar or LoadGrammarAsync method.

To configure the audio input, use one of the following methods:

Applies to

SpeechRecognitionEngine(String)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Initializes a new instance of the SpeechRecognitionEngine class with a string parameter that specifies the name of the recognizer to use.

public:
 SpeechRecognitionEngine(System::String ^ recognizerId);
public SpeechRecognitionEngine (string recognizerId);
new System.Speech.Recognition.SpeechRecognitionEngine : string -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerId As String)

Parameters

recognizerId
String

The token name of the speech recognizer to use.

Exceptions

No speech recognizer with that token name is installed, or recognizerId is the empty string ("").

recognizerId is null.

Examples

The following example shows part of a console application that demonstrates basic speech recognition, and creates an instance of the Speech Recognizer 8.0 for Windows (English - US).

using System;  
using System.Speech.Recognition;  

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

      // Create an instance of the Microsoft Speech Recognizer 8.0 for  
      // Windows (English - US).  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine("MS-1033-80-DESK"))  
      {  

        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized += new EventHandler(recognizer_SpeechRecognized);  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

Remarks

The token name of the recognizer is the value of the Id property of the RecognizerInfo object returned by the RecognizerInfo property of the recognizer. To get a collection of all the installed recognizers, use the static InstalledRecognizers method.

Before the speech recognizer can begin recognition, you must load at least one speech recognition grammar and configure the input for the recognizer.

To load a grammar, call the LoadGrammar or LoadGrammarAsync method.

To configure the audio input, use one of the following methods:

Applies to