SpeechRecognizer Class

SpeechRecognizer Class

 

Provides access to the shared speech recognition service available on the Windows desktop.

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

System.Object
  System.Speech.Recognition.SpeechRecognizer

Public Class SpeechRecognizer
	Implements IDisposable

NameDescription
System_CAPS_pubmethodSpeechRecognizer()

Initializes a new instance of the SpeechRecognizer class.

NameDescription
System_CAPS_pubpropertyAudioFormat

Gets the format of the audio being received by the speech recognizer.

System_CAPS_pubpropertyAudioLevel

Gets the level of the audio being received by the speech recognizer.

System_CAPS_pubpropertyAudioPosition

Gets the current location in the audio stream being generated by the device that is providing input to the speech recognizer.

System_CAPS_pubpropertyAudioState

Gets the state of the audio being received by the speech recognizer.

System_CAPS_pubpropertyEnabled

Gets or sets a value that indicates whether this SpeechRecognizer object is ready to process speech.

System_CAPS_pubpropertyGrammars

Gets a collection of the Grammar objects that are loaded in this SpeechRecognizer instance.

System_CAPS_pubpropertyMaxAlternates

Gets or sets the maximum number of alternate recognition results that the shared recognizer returns for each recognition operation.

System_CAPS_pubpropertyPauseRecognizerOnRecognition

Gets or sets a value that indicates whether the shared recognizer pauses recognition operations while an application is handling a SpeechRecognized event.

System_CAPS_pubpropertyRecognizerAudioPosition

Gets the current location of the recognizer in the audio input that it is processing.

System_CAPS_pubpropertyRecognizerInfo

Gets information about the shared speech recognizer.

System_CAPS_pubpropertyState

Gets the state of a SpeechRecognizer object.

NameDescription
System_CAPS_pubmethodDispose()

Disposes the SpeechRecognizer object.

System_CAPS_protmethodDispose(Boolean)

Disposes the SpeechRecognizer object and releases resources used during the session.

System_CAPS_pubmethodEmulateRecognize(RecognizedWordUnit(), CompareOptions)

Emulates input of specific words to the shared speech recognizer, using text instead of audio for synchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

System_CAPS_pubmethodEmulateRecognize(String)

Emulates input of a phrase to the shared speech recognizer, using text instead of audio for synchronous speech recognition.

System_CAPS_pubmethodEmulateRecognize(String, CompareOptions)

Emulates input of a phrase to the shared speech recognizer, using text instead of audio for synchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

System_CAPS_pubmethodEmulateRecognizeAsync(RecognizedWordUnit(), CompareOptions)

Emulates input of specific words to the shared speech recognizer, using text instead of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.

System_CAPS_pubmethodEmulateRecognizeAsync(String)

Emulates input of a phrase to the shared speech recognizer, using text instead of audio for asynchronous speech recognition.

System_CAPS_pubmethodEmulateRecognizeAsync(String, CompareOptions)

Emulates input of a phrase to the shared speech recognizer, using text instead of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the phrase and the loaded speech recognition grammars.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodLoadGrammar(Grammar)

Loads a speech recognition grammar.

System_CAPS_pubmethodLoadGrammarAsync(Grammar)

Asynchronously loads a speech recognition grammar.

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodRequestRecognizerUpdate()

Requests that the shared recognizer pause and update its state.

System_CAPS_pubmethodRequestRecognizerUpdate(Object)

Requests that the shared recognizer pause and update its state and provides a user token for the associated event.

System_CAPS_pubmethodRequestRecognizerUpdate(Object, TimeSpan)

Requests that the shared recognizer pause and update its state and provides an offset and a user token for the associated event.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodUnloadAllGrammars()

Unloads all speech recognition grammars from the shared recognizer.

System_CAPS_pubmethodUnloadGrammar(Grammar)

Unloads a specified speech recognition grammar from the shared recognizer.

NameDescription
System_CAPS_pubeventAudioLevelUpdated

Occurs when the shared recognizer reports the level of its audio input.

System_CAPS_pubeventAudioSignalProblemOccurred

Occurs when the recognizer encounters a problem in the audio signal.

System_CAPS_pubeventAudioStateChanged

Occurs when the state changes in the audio being received by the recognizer.

System_CAPS_pubeventEmulateRecognizeCompleted

Occurs when the shared recognizer finalizes an asynchronous recognition operation for emulated input.

System_CAPS_pubeventLoadGrammarCompleted

Occurs when the recognizer finishes the asynchronous loading of a speech recognition grammar.

System_CAPS_pubeventRecognizerUpdateReached

Occurs when the recognizer pauses to synchronize recognition and other operations.

System_CAPS_pubeventSpeechDetected

Occurs when the recognizer detects input that it can identify as speech.

System_CAPS_pubeventSpeechHypothesized

Occurs when the recognizer has recognized a word or words that may be a component of multiple complete phrases in a grammar.

System_CAPS_pubeventSpeechRecognitionRejected

Occurs when the recognizer receives input that does not match any of the speech recognition grammars it has loaded.

System_CAPS_pubeventSpeechRecognized

Occurs when the recognizer receives input that matches one of its speech recognition grammars.

System_CAPS_pubeventStateChanged

Occurs when the running state of the Windows Desktop Speech Technology recognition engine changes.

Applications use the shared recognizer to access Windows Speech Recognition. Use the SpeechRecognizer object to add to the Windows speech user experience.

This class provides control over various aspects of the speech recognition process:

The configuration of Windows Speech Recognition is managed by the use of the Speech Properties dialog in the Control Panel. This interface is used to select the default desktop speech recognition engine and language, the audio input device, and the sleep behavior of speech recognition. If the configuration of Windows Speech Recognition is changed while the application is running, (for instance, if speech recognition is disabled or the input language is changed), the change affects all SpeechRecognizer objects.

To create an in-process speech recognizer that is independent of Windows Speech Recognition, use the SpeechRecognitionEngine class.

System_CAPS_noteNote

Always call Dispose before you release your last reference to the speech recognizer. Otherwise, the resources it is using will not be freed until the garbage collector calls the recognizer object's Finalize method.

The following example is part of a console application that loads a speech recognition grammar and demonstrates asynchronous emulated input, the associated recognition results, and the associated events raised by the speech recognizer. If Windows Speech Recognition is not running, then starting this application will also start Windows Speech Recognition. If Windows Speech Recognition is in the Sleeping state, then EmulateRecognizeAsync always returns null.

using System;
using System.Speech.Recognition;
using System.Threading;

namespace SharedRecognizer
{
  class Program
  {

    // Indicate whether the asynchronous emulate recognition
    // operation has completed.
    static bool completed;

    static void Main(string[] args)
    {

      // Initialize an instance of the shared recognizer.
      using (SpeechRecognizer recognizer = new SpeechRecognizer())
      {

        // Create and load a sample grammar.
        Grammar testGrammar =
          new Grammar(new GrammarBuilder("testing testing"));
        testGrammar.Name = "Test Grammar";
        recognizer.LoadGrammar(testGrammar);

        // Attach event handlers for recognition events.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(
            SpeechRecognizedHandler);
        recognizer.EmulateRecognizeCompleted +=
          new EventHandler<EmulateRecognizeCompletedEventArgs>(
            EmulateRecognizeCompletedHandler);

        completed = false;

        // Start asynchronous emulated recognition. 
        // This matches the grammar and generates a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing testing");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }

        completed = false;

        // Start asynchronous emulated recognition.
        // This does not match the grammar or generate a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing one two three");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }

    // Handle the SpeechRecognized event.
    static void SpeechRecognizedHandler(
      object sender, SpeechRecognizedEventArgs e)
    {
      if (e.Result != null)
      {
        Console.WriteLine("Recognition result = {0}",
          e.Result.Text ?? "<no text>");
      }
      else
      {
        Console.WriteLine("No recognition result");
      }
    }

    // Handle the SpeechRecognizeCompleted event.
    static void EmulateRecognizeCompletedHandler(
      object sender, EmulateRecognizeCompletedEventArgs e)
    {
      if (e.Result == null)
      {
        Console.WriteLine("No result generated.");
      }

      // Indicate the asynchronous operation is complete.
      completed = true;
    }
  }
}

.NET Framework
Available since 3.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft