views:

152

answers:

3

Title says it all. I want to have an action performed whenever the user (while using Vista voice recognition) says "Wingbats are crazy!". How do I do this? Is there scripting or is there a dll to tie into?

+2  A: 

You might want to check out the Microsoft Speech API (SAPI). I used this in Windows XP a while ago and it supports an XML markup that declares the command(s) that you want the system to recognise. Your application then determines what needs to happen when a speech command is recognised.

For speech recognition, check out the ISpRecoContext interface.

Previously this was a COM interface, but since Vista you can use .NET. Or apparently you can use Python if that's your preference!

Edit

Microsoft Speech Server 2007 supports VoiceXML, mentioned in another response to this question.

Richard Ev
A: 

Check out Voice XML. A list of systems implementing the standard can be found on w3.org.

Pool
+1  A: 

I would recommend the WSR Macro toolkit. It lets you easily integrate your custom scripts into the Windows Speech Recognition system. SAPI and System.Speech.Recognition are great if you need more control, but given your question, I suspect that the learning curve will be much easier with WSR Macros.

Eric Brown