InstalledRecognizers Method

SpeechRecognitionEngine.InstalledRecognizers Method ()


Returns information for all of the installed speech recognizers on the current system.

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

public static ReadOnlyCollection<RecognizerInfo> InstalledRecognizers()

Return Value

Type: System.Collections.ObjectModel.ReadOnlyCollection<RecognizerInfo>

A read-only collection of the RecognizerInfo objects that describe the installed recognizers.

To get information about the current recognizer, use the RecognizerInfo property.

The following example shows part of a console application that demonstrates basic speech recognition. The example uses the collection returned by the InstalledRecognizers method to find 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;
      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.

        // Start asynchronous, continuous speech recognition.

        // Keep the console window open.
        while (true)

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

.NET Framework
Available since 3.0
Return to top
© 2015 Microsoft