Note
Please see Azure Cognitive Services for Speech documentation for the latest supported speech solutions.
SpeechRecognitionEngine.EmulateRecognizeAsync Method (RecognizedWordUnit[], CompareOptions)
Emulates input of specific words to the speech recognizer, using text in place of audio for asynchronous speech recognition, and specifies how the recognizer handles Unicode comparison between the words and the loaded speech recognition grammars.
Namespace: Microsoft.Speech.Recognition
Assembly: Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
'Declaration
Public Sub EmulateRecognizeAsync ( _
wordUnits As RecognizedWordUnit(), _
compareOptions As CompareOptions _
)
'Usage
Dim instance As SpeechRecognitionEngine
Dim wordUnits As RecognizedWordUnit()
Dim compareOptions As CompareOptions
instance.EmulateRecognizeAsync(wordUnits, _
compareOptions)
public void EmulateRecognizeAsync(
RecognizedWordUnit[] wordUnits,
CompareOptions compareOptions
)
Parameters
- wordUnits
Type: []
An array of word units that contains the input for the recognition operation.
- compareOptions
Type: System.Globalization.CompareOptions
A bitwise combination of the enumeration values that describe the type of comparison to use for the emulated recognition operation.
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | The recognizer has no speech recognition grammars loaded, or the recognizer has an asynchronous recognition operation that is not yet complete. |
ArgumentNullException | wordUnits is a null reference (Nothing in Visual Basic). |
ArgumentException | wordUnits contains one or more a null reference (Nothing in Visual Basic) elements. |
NotSupportedException | compareOptions contains the IgnoreNonSpace, IgnoreSymbols, or StringSort flag. See CompareOptions. |
Remarks
The speech recognizer raises the SpeechDetected, SpeechHypothesized, SpeechRecognitionRejected, and SpeechRecognized events as if the recognition operation is not emulated. When the recognizer completes the asynchronous recognition operation, it raises the EmulateRecognizeCompleted event.
The only supported values of the compareOptions argument are OrdinalIgnoreCase and IgnoreCase. All other members of CompareOptions will generate a NotSupportedException exception or return a a null reference (Nothing in Visual Basic).
Emulated recognition ignores new lines and extra white space and treats punctuation literally, rather than letting it define phrases.
Examples
In the following example, an application obtains text input through a Textbox, and uses it to asynchronously emulate speech recognition.
Information about the emulated recognition is returned to the user interface by the anonymous method used as the handler for EmulateRecognizeCompleted events.
private void _emulateButton_Click(object sender, EventArgs e)
{
_asyncEmulation = true;
RecognitionResult result =
_recognitionEngine.EmulateRecognizeAsync(_emulateTextBox.Text);
}
_recognitionEngine.EmulateRecognizeCompleted += delegate(object sender, EmulateRecognizeCompletedEventArgs eventArgs)
{
_asyncEmulation = false;
Utils.DisplayAudioInputFormat(_audioStateLabel, _recognitionEngine);
DisplayResult(eventArgs);
};
See Also
Reference
SpeechRecognitionEngine Members
EmulateRecognizeAsync Overload