RecognizedWordUnit Constructor

Constructs a new instance of RecognizedWordUnit.

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

Syntax

'Declaration
Public Sub New ( _
    text As String, _
    confidence As Single, _
    pronunciation As String, _
    lexicalForm As String, _
    displayAttributes As DisplayAttributes, _
    audioPosition As TimeSpan, _
    audioDuration As TimeSpan _
)
public RecognizedWordUnit (
    string text,
    float confidence,
    string pronunciation,
    string lexicalForm,
    DisplayAttributes displayAttributes,
    TimeSpan audioPosition,
    TimeSpan audioDuration
)
public:
RecognizedWordUnit (
    String^ text, 
    float confidence, 
    String^ pronunciation, 
    String^ lexicalForm, 
    DisplayAttributes displayAttributes, 
    TimeSpan audioPosition, 
    TimeSpan audioDuration
)
public RecognizedWordUnit (
    String text, 
    float confidence, 
    String pronunciation, 
    String lexicalForm, 
    DisplayAttributes displayAttributes, 
    TimeSpan audioPosition, 
    TimeSpan audioDuration
)
public function RecognizedWordUnit (
    text : String, 
    confidence : float, 
    pronunciation : String, 
    lexicalForm : String, 
    displayAttributes : DisplayAttributes, 
    audioPosition : TimeSpan, 
    audioDuration : TimeSpan
)

Parameters

  • confidence
    An float value between 1.0 and 0.0 indicating the recognition certainty of word recognition.
  • pronunciation
    System.String containing phonetic information for a recognized word.

    This value may be null, "" or System.String.Empty.

  • lexicalForm
    System.String containing unnormalized text for a recognized word.

    This argument is requred and may not be null, "" or System.String.Empty.

  • audioPosition
    A System.TimeSpan instance indicating the location in the audio input stream of the recognized word.

    This value may be System.TimeSpan.Zero.

  • audioDuration
    A System.TimeSpan instance indicating the length of the audio input corresponding to the recognized word.

    This value may be System.TimeSpan.Zero.

Remarks

If text or pronunciation are null, "" or System.String.Empty and the RecognizedWordUnit is used in a recognition operation, the recognition engine will generate appropriate values in any output RecognizedWordUnit instance.

Direct construct of RecognizedWordUnit instances is typically only used with when emulating recognition operations using EmulateRecognizeAsync, Recognition, SpeechRecognizer.EmulateRecognize(Microsoft.Speech.Recognition.RecognizedWordUnit[],System.Globalization.CompareOptions), EmulateRecognizeAsync, Recognition, SpeechRecognizer.EmulateRecognize(Microsoft.Speech.Recognition.RecognizedWordUnit[],System.Globalization.CompareOptions).

For actual applications do not directly construct RecognizedWordUnit, but obtain it through the Words property on the RecognizedPhrase object.

Example

The example below is a somewhat contrived test of emulation, where new words are generated from the input and passed to the emulator, and then verified.

private void _emulateAndVerify_Click(object sender, EventArgs e) {

char[] delimiterChars = { ' ', ',', '.', ':', ';', '\t' };
string text = _emulateTextBox.Text;
string[] words = text.Split(delimiterChars);

RecognizedWordUnit[] InputWordUnits = new RecognizedWordUnit[words.Length];
for (int i = 0; i < words.Length; i++) {
    //DisplayAttributes at=
    InputWordUnits[i] = new RecognizedWordUnit("", 0, "",
              words[i].ToLower(), DisplayAttributes.OneTrailingSpace, new TimeSpan(), new TimeSpan());
}
RecognitionResult rec = _recognizer.EmulateRecognize(InputWordUnits, System.Globalization.CompareOptions.IgnoreCase);
if (rec == null) {
    MessageBox.Show(String.Format("Recognition emulation for {0} failed.\n", text));
} else if (InputWordUnits.Length != rec.Words.Count) {
    MessageBox.Show(String.Format(
                    "Length mismatch: Input was {0} words, Recognition has {1} words.\n}"));
} else {
    for (int i = 0; i < InputWordUnits.Length; i++) {

        if (rec.Words[i].LexicalForm.ToLower() != InputWordUnits[i].LexicalForm.ToLower()) {
            MessageBox.Show(String.Format(
                            "Input word {0} \"{1}\" not found. Recognition output is {2}",
                            i, InputWordUnits[i].LexicalForm, rec.Words[i].LexicalForm));
            continue;
        }
    }
}

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

RecognizedWordUnit Class
RecognizedWordUnit Members
Microsoft.Speech.Recognition Namespace
DisplayAttributes Enumeration

Other Resources

International Phonetic Alphabet