3

I am writing my first speech recognition application by using the System.Speech namespace of .NET Framework 4.0.

I am using the shared speech recognition, loading a default dictation grammar and custom grammars I've done.

I also capture the text recognized by the Windows Speech Recognizer (WSR) by implementing a handler for the event "SpeechRecognized".

I would like to change the text recognized (e.g. to change "two" by "2" in the text) but if I do that, the output will not be written in the current app (e.g. MS Word).

I know I can do something SIMILAR by using the SendKeys method, but I think it's not a good idea because the quality of the output is lower. For example, if you use WSR as a standard user, you will see that after "." or a new line the following sentence starts with an uppercase character. There're tons of things you must take into account if you want to write your own output parser so I would like to use the one WSR uses if you don't handle the SpeechRecognized event. But... HOW??

(I wouldn't mind to use SAPI if necessary).

Thanks!!

Charles
  • 50,943
  • 13
  • 104
  • 142
pjvv1
  • 31
  • 1

1 Answers1

2

The short answer is that you can't. WSR doesn't have a hook that allows 3rd parties to connect into its dictation pipeline.

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