Share via


RecognitionResult Class

Represents the result of recognition engine on audio input as detailed information about the best candidate phrases matching phrase, and a list of all candidate matching phrases.

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

Syntax

<SerializableAttribute> _
<DebuggerDisplayAttribute("{DebuggerDisplayString ()}")> _
Public NotInheritable Class RecognitionResult
    Inherits RecognizedPhrase
    Implements ISerializable

[SerializableAttribute] 
[DebuggerDisplayAttribute("{DebuggerDisplayString ()}")] 
public sealed class RecognitionResult : RecognizedPhrase, ISerializable

[SerializableAttribute] 
[DebuggerDisplayAttribute(L"{DebuggerDisplayString ()}")] 
public ref class RecognitionResult sealed : public RecognizedPhrase, ISerializable

/** @attribute SerializableAttribute() */ 
/** @attribute DebuggerDisplayAttribute("{DebuggerDisplayString ()}") */ 
public final class RecognitionResult extends RecognizedPhrase implements ISerializable

SerializableAttribute 
DebuggerDisplayAttribute("{DebuggerDisplayString ()}") 
public final class RecognitionResult extends RecognizedPhrase implements ISerializable

Remarks

An instance of RecognitionResult returned by a speech recognition operation provides both:

  • Detailed information about the phrase determined by to be the best candidate for matching audio input.

  • A list of all candidate phrases, as RecognizedPhrase objects, ordered by confidence level, and obtained by the Alternates member of

RecognitionResult inherits from RecognizedPhrase and is serializable and

An application typically obtains an instance of RecognitionResult from the Result member of the instance of a class derived from RecognitionEventArgs and passed by a speech recognition engine to handlers of SpeechHypothesized, SpeechRecognized or SpeechRecognitionRejected events generated by SpeechRecognizer and SpeechRecognitionEngine, as well as SpeechRecognized events generated by Grammar.

Inheritance Hierarchy

System.Object
   Microsoft.Speech.Recognition.RecognizedPhrase
    Microsoft.Speech.Recognition.RecognitionResult

Example

The example below use an instance of RecognitionResult to display information about the results of a speech recognition operation.

       // Displays the semantics, rules, and alternates of the result.
        private void DisplayResult(RecognitionEventArgs eventArgs)
        {

            // Clear results, semantic XML, semantics tree, and alternates.
            _recognitionSmlBrowser.Navigate("about:blank");
            _semanticsTreeView.Nodes.Clear();
            _alternatesListBox.Items.Clear();
            _recognitionInfo.Text = null;
            _recognizedTextDisplay.Text = null;


            //Obtain result from RecognitionEventArg passed in.

            
            if (eventArgs != null && eventArgs.Result != null)
            {
                RecognitionResult result = eventArgs.Result;
                //Set Text color on the basis of the event type passed in.
                _recognitionInfo.Text = null;
                switch (eventArgs.GetType().ToString())
                {

                    case "Microsoft.Speech.Recognition.SpeechHypothesizedEventArgs":
                       _recognizedTextDisplay.ForeColor = Color.Black;
                        _recognizedTextDisplay.Text = result.Text;
                        _recognitionInfo.Text = null;
                        break;
                    case "Microsoft.Speech.Recognition.SpeechRecognitionRejectedEventArgs":
                        _recognizedTextDisplay.ForeColor = Color.OrangeRed;
                        _recognizedTextDisplay.Text ="Unable to Recognize Input";
                        DisplaySemanticsSML(result);
                        DisplaySemanticsTreeView(result);
                        _recognitionInfo.Text = null;
                        break;
                    case "Microsoft.Speech.Recognition.SpeechRecognizedEventArgs":
                        _recognizedTextDisplay.ForeColor = Color.Green;
                        _recognizedTextDisplay.Text = result.Text;
                        _recognitionInfo.Text =
                            "Confidence Level:    " + result.Confidence + Environment.NewLine
                          + "Recognizing Grammar: " + result.Grammar.Name + Environment.NewLine
                          + ((result.Grammar.RuleName != null) ? ("Recognizing Rule   : " + result.Grammar.RuleName) : "");
                        DisplaySemanticsSML(result);
                        DisplaySemanticsTreeView(result);
                        break;
                    default:
                        _recognizedTextDisplay.ForeColor = Color.Black;
                        break;
                }

                _recognizedTextDisplay.Show();
                _recognitionInfo.Show();

                DisplayAlternates(result);

            }
        }

Thread Safety

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

Platforms

Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also

Reference

RecognitionResult Members
Microsoft.Speech.Recognition Namespace
RecognitionEventArgs Class
RecognizedPhrase
SpeechHypothesized
SpeechRecognized
SpeechRecognitionRejected
SpeechHypothesized
SpeechRecognized
SpeechRecognitionRejected
Grammar.SpeechRecognized Event