Friday, January 25, 2008

Voice Control and Chives 's Software

So many people have contacted me regarding how Chives works , software wise. So here is a detailed explanation.

When Chives' laptop starts up, Windows Speech Recognition also starts up. Now Chives's software, which I programmed in Visual Basic 6.0 , consists of multiple buttons whose captions are the voice commands. Meaning the caption titled is the command it does. "Get me a drink" is the caption of the button which gets you a drink . By clicking that button , the computer sends a signal through a USB port to the Phidgets controller ( we'll deal with that later, but you can google it if you want .)

Now where does the voice control come in? My first attempt at Speech recognition was that of using the Microsoft Speech SDK , which did not work out well. Accuracy was terrible. Then I stumbled upon Windows Vista Speech Recognition which is amazing. It actually scans the page automatically for the captions of buttons, and when you say the caption of a button it will click the button for you , all controlled by speech. So now all I did was create a program filled with buttons that did different tasks. Vola! Instant speech recognition. Except there is one slight problem now ..... having the robot talk back to us. Now I know you could use Microsoft Text to Speech , but frankly , after using that I felt like I really was talking to a robot . So I found this http://www.research.att.com/~ttsweb/tts/demo.php and prerecorded all of chives's sounds and also created my own Number to Speech engine. This engine I made allowed me to simply slip in a number variable into the engine and then a number would be said in a natural voice, eliminating the need for me to record every single sound from 1 to 1000.
Another issue which emerges throughout this type of program is timing. There are over 50 timers in Chives's program, since this will allow for the words to be said , for actions to last a certain amount of time , you get the idea , you need at least one timer for each function.

Well you get the basic idea of how I got voice control to work and text to speech to work ( in a natural voice, not Microsoft text to speech) . But I warn you, there are hundreds of bugs which I had to work out , causing me a lot of headaches. If you endeavor to create a voice controlled robot , feel free to contact me and I'll help you out of the bugs which I already fixed , give you tips , give you sample programs I made , because this will save you a lot of time and headaches.

Cheers,
Eric

3 comments:

ajay said...

Dear Friend

it s very nice that there are some good gyes like you who share such useful information with others. thanks for this.
can you send the circuit diagram of 'voice controlled robot' to me. i am very thankful to you.
my email id is:- 05ei425@gmail.com
God bless you

hueyyee said...

Hi..Thanks of willing share the information.Can u pls send me those useful info of voice control robot to me.My email is love_hueyyee@yahoo.com
Thx a lot.

hueyyee said...

Hi..Thanks of willing share the information.Can u pls send me those useful info of voice control robot to me.My email is love_hueyyee@yahoo.com
Thx a lot.