views:

995

answers:

3

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.

A: 

http://stackoverflow.com/questions/207653/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...)

The question is on Speech to text, not text to speech.
skamradt
A: 

Sorry, should have mentioned to just use Voice.speak(Memo1.Lines.Text) instead of 'Hello World'. Now... how do you select a different voice? 8^/

The question is on Speech to text, not text to speech.
skamradt
hi Bob, this isn't about text to speech.
Attilah
A: 

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.

Senseful
Even though this doesn't provide the best solution, I'm marking it as the best answer until someone can come up with a better solution.
Senseful