ReplacementText.CountOfWords Property

Gets the number of recognized words replaced by the speech normalization procedure.

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

Syntax

'Declaration
Public ReadOnly Property CountOfWords As Integer
public int CountOfWords { get; }
public:
property int CountOfWords {
    int get ();
}
/** @property */
public int get_CountOfWords ()
public function get CountOfWords () : int

Property Value

An int containing the number of recognized words replaced by the speech normalization procedure.

Example

In the example below, information about a RecognizedPhrase object returned by a recognition engine is displayed to a user interface.

The section where the number of word replaced by normalization, obtained through the CountOfWords property, is displayed to the user interface is highlighted.

internal static void DisplayBasicPhraseInfo(Label label, RecognizedPhrase result, SpeechRecognizer rec) {
  if (result != null && label != null) {// Blank
    if (rec != null) { //Clear
      label.Text += String.Format(
                                  "  Recognizer currently at:   {0} mSec\n" +
                                  "  Audio Device currently at: {1} mSec\n",
                                  rec.RecognizerAudioPosition.TotalMilliseconds,
                                  rec.AudioPosition.TotalMilliseconds);
    }
    
    if (result != null) { //Clear
      RecognitionResult recResult = result as RecognitionResult;
      if (recResult != null) {
        RecognizedAudio resultAudio = recResult.Audio;
        if (resultAudio == null) {
          label.Text += String.Format(
                                      "  Emulated input\n");
        } else {
          label.Text += String.Format(
                                      "  Candidate Phrase at:       {0} mSec\n" +
                                      "  Phrase Length:             {1} mSec\n" +
                                      "  Input State Time:          {2}\n" +
                                      "  Input Format:              {3}\n",
                                      resultAudio.AudioPosition.TotalMilliseconds,
                                      resultAudio.Duration.TotalMilliseconds,
                                      resultAudio.StartTime.ToShortTimeString(),
                                      resultAudio.Format.EncodingFormat.ToString());
        }
      }
      
      label.Text += String.Format("  Confidence Level:          {0}\n", result.Confidence);
      if (result.Grammar != null) {
        label.Text += String.Format(
                                    "  Recognizing Grammar:       {0}\n" +
                                    "  Recognizing Rule:          {1}\n",
                                    ((result.Grammar.Name != null) ? (result.Grammar.Name) : "None"),
                                    ((result.Grammar.RuleName != null) ? (result.Grammar.RuleName) : "None"));
      }
      
      if (result.ReplacementWordUnits.Count != 0) {
        label.Text += String.Format("  Replacement text:\n");
        foreach (ReplacementText rep in result.ReplacementWordUnits) {
          string repText = rep.Text;
          // Add trailing spaces
          
          if ((rep.DisplayAttributes & DisplayAttributes.OneTrailingSpace) != 0) {
            repText += " ";
          }
          if ((rep.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) != 0) {
            repText += "  ";
          }
          if ((rep.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0) {
            repText = repText.TrimStart();
          }
          if ((rep.DisplayAttributes & DisplayAttributes.ZeroTrailingSpaces) != 0) {
            repText = repText.TrimEnd();
           }
          label.Text += String.Format("      At index {0} for {1} words. Text: \"{2}\"\n",
                                      rep.FirstWordIndex, rep.CountOfWords, repText);
        }
        label.Text += String.Format("\n\n");
      }
    }
    
  }
}

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

ReplacementText Class
ReplacementText Members
Microsoft.Speech.Recognition Namespace