I would like to be able to dictate into my Delphi application using Microsoft Vista's speech recognition. However when attempting to dictate into a TMemo, it simply does not work. I noticed that Firefox 3.0 has the same issue and after they contacted Microsoft about the problem, they told them that they need to implement the Text Services Framework for their application.
I am wondering if there is any way to implement this in Delphi so that I can dictate into a TMemo or a TRichEdit. Searching Google for a solution didn't return any relevant results. Where would I start in finding a solution?
Edit: I found out that there is a way to enable speech recognition in all programs, even those that don't support it, simply by going to the options of Windows Speech Recognition and selecting Enable dictation everywhere. However when you use this to dictate into an editbox that doesn't use the Text Services Framework, it always pops up the Alternates Panel which displays the prompt Say the number next to the item you want, followed by OK. While this may work for short sentences, it does not have many of the useful features such as correcting or deleting a word. So I am still trying to figure out how to enable speech recognition without relying on the Enable dictation everywhere option.
Text to speech in Vista
Just tested it with a button like the demo code on that page, works fine in Vista SP1/D2007. (funny, I clicked the 'Vista' tag-link and found it there...)
I found out that there is a way to enable speech recognition in all programs, even those that don't support it, simply by going to the options of Windows Speech Recognition and selecting Enable dictation everywhere. However when you use this to dictate into an editbox that doesn't use the Text Services Framework, it always pops up the Alternates Panel which displays the prompt Say the number next to the item you want, followed by OK. While this may work for short sentences, it does not have many of the useful features such as correcting or deleting a word.