0

I have a Windows Phone 8 app that uses speech recognition. No matter what I try I always get exactly one Alternate guess and it's a duplicate of the main result text, despite asking for 10 alternates:

    // Get alternates, max 10.
    IEnumerable<SpeechRecognitionResult> iterSRR = srResult.GetAlternates(10);
    List<SpeechRecognitionResult> listAlternates = iterSRR == null ? null : iterSRR.ToList();

I am using the default dictation context (i.e. - I am not using/loading any Context Free Grammars) and I have been trying long phrases where I don't talk clearly, usually a sure-fire recipe for getting Alternates from a speech reco engine. But still, no real Alternate guesses.

I found this SO post on Alternates:

Microsoft Speech Recognition: Alternate results with confidence score?

In that post the author sets the Confidence thresholds for rejecting guesses to 0 so that nothing is rejected. However, the WP8 SpeechRecognizer class doesn't have any fields like that in its Settings property.

Why am I getting only one Alternate that is really not an Alternate at all and how can I get a set of real alternates?

Community
  • 1
  • 1
Robert Oschler
  • 14,153
  • 18
  • 94
  • 227

1 Answers1

0

The Windows Phone 8 dictation recognizer is a network recognizer, and doesn't provide alternates via SAPI. You'll need to use a context-free grammar to get alternates.

Eric Brown
  • 13,774
  • 7
  • 30
  • 71