How to change the output of Windows Speech Recognition?

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

I use public speech recognition, loading the default dictation grammar and the custom grammars I made.

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

I would like to change the recognized text (for example, change “two” to “2” in the text), but if I do this, the output will not be written in the current application (for example, in MS Word).

I know that I can do something similar using the SendKeys method, but I think this is not a good idea, because the output quality is lower. For example, if you use WSR as a standard user, you will see that after "." or a new line, the next sentence begins with an uppercase character. There are many things you should consider if you want to write your own output analyzer, so I would like to use one use of WSR if you are not handling the SpeechRecognized event. But how??

(I would not want to use SAPI if necessary).

Thank!!

+3
source share
1 answer

The short answer is that you cannot. WSR does not have a hook that allows third parties to connect to the dictation pipeline.

+2
source

All Articles