SpeechRecognitionEngine.EmulateRecognize Method (RecognizedWordUnit[], CompareOptions)


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.

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

public RecognitionResult EmulateRecognize(
	RecognizedWordUnit[] wordUnits,
	CompareOptions compareOptions


Type: System.Speech.Recognition.RecognizedWordUnit[]

An array of word units that contains the input for the recognition operation.

Type: System.Globalization.CompareOptions

A bitwise combination of the enumeration values that describe the type of comparison to use for the emulated recognition operation.

Return Value

Type: System.Speech.Recognition.RecognitionResult

The result for the recognition operation, or null if the operation is not successful or the recognizer is not enabled.

Exception Condition

The recognizer has no speech recognition grammars loaded.


wordUnits is null.


wordUnits contains one or more null elements.


compareOptions contains the IgnoreNonSpace, IgnoreSymbols, or StringSort flag.

The speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated.

The recognizer uses compareOptions when it applies grammar rules to the input phrase. 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. For more information about character width and Kana type, see the CompareOptions enumeration.

.NET Framework
Available since 3.0
Return to top