SpeechRecognitionEngine Constructor (String)

Microsoft Speech Platform SDK 11

Collapse imageExpand ImageCopy imageCopyHover image

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

Namespace:  Microsoft.Speech.Recognition
Assembly:  Microsoft.Speech (in Microsoft.Speech.dll)

Syntax

Visual Basic (Declaration)
Public Sub New ( _
	recognizerId As String _
)
Visual Basic (Usage)
Dim recognizerId As String

Dim instance As New SpeechRecognitionEngine(recognizerId)
C#
public SpeechRecognitionEngine(
	string recognizerId
)

Parameters

recognizerId
Type: System..::..String

The token name of the speech recognizer to use.

Exceptions

ExceptionCondition
NullArgumentException

Thrown if recognizerId is nullNothingnullptrunita null reference (Nothing in Visual Basic) or an empty string.

ArgumentException

Thrown if recognizerId does not match any installed speech recognizers.

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 SpeechRecognitionEngine object. 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:

Examples

The following example creates an instance of SpeechRecognitionEngine by specifying the precise name of the speech recognition engine to use.

 Copy imageCopy Code
using System;
using Microsoft.Speech.Recognition;

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

      // Create a SpeechRecognitionEngine instance for the installed
      // speech recognition engine named SR_MS_en-US_TELE_10.0.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine("SR_MS_en-US_TELE_10.0"))
      {

        // Create a grammar.
        // Create lists of alternative choices.
        Choices listTypes = new Choices(new string[] { "albums", "artists" });
        Choices genres = new Choices(new string[] { 
          "blues", "classical", "gospel", "jazz", "rock" });

        // Create a GrammarBuilder object and assemble the grammar components.
        GrammarBuilder mediaMenu = new GrammarBuilder("Display");
        mediaMenu.Append("the list of", 0, 1);
        mediaMenu.Append(listTypes);
        mediaMenu.Append("in the", 0, 1);
        mediaMenu.Append(genres);
        mediaMenu.Append("category", 0, 1);

        // Build a Grammar object from the GrammarBuilder.
        Grammar mediaMenuGrammar = new Grammar(mediaMenu);
        mediaMenuGrammar.Name = "Media Chooser";

        // Load the Grammar object to the SpeechRecognitionEngine.
        recognizer.LoadGrammarAsync(mediaMenuGrammar);

        // 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);
    }
  }
}

See Also