Voice Controlled Chess Robot

voice-controlled-chess-robot

[Ben Yeh] wrote in to tell us about this voice-controlled chess robot he built along with three others as a final project for their Georgia Tech ECE 4180 Embedded Systems Design class.

To handle the speech recognition they grabbed an EasyVR board. This is a fine solution because it prevents the need for a computer to process voice commands (remember, it’s an embedded systems class). This concept breaks down when you find out that the desktop computer next to the robot is where the chess game is running. Perhaps that can be moved to a microcontroller by the next set of 4180 students.

The robot arm portion of the project is shown off well in the clip after the break. Normally we’d expect to see stepper motors driving the axes of a CNC machine but in this case they’re using servo motors with built-in encoders. The encoders are i2c devices which feed info back to the main controller. There was a parts ordering snafu and the z axis motor doesn’t have an encoder. No problem, they just added a distance sensor and a reflector to measure the up and down movement of the claw.

Continue reading “Voice Controlled Chess Robot”

Speech Recognition On An Arduino

Speech recognition is usually the purview of fairly high-powered computers chugging along at hundreds of Megahertz with megabytes of RAM. Bringing speech recognition to the low-power microcontroller you’d find in an Arduino sounds like the work of a mad scientist or Ph.D. candidate, but that’s exactly what [Arjo Chakravarty] did. He developed the μSpeech library for the Arduino to allow for speech recognition for a limited set of voice commands.

Where most speech recognition systems use FFT and very fancy math to determine what phonemes a user is saying, [Arjo]’s system does away with this unnecessary complexity in favor of using very, very basic integral and differential calculus.

From [Arjo]’s user guide for μSpeech (PDF warning) we can see it’s possible to connect a small microphone to the analog input of an Arduino and accept voice commands such as ‘left’, ‘right’, and ‘stop’. The accuracy is pretty good, as well – 80% if μSpeech is trying to recognize words, and 30-40% if μSpeech is programmed to recognize single phonemes.

Sadly we couldn’t find a demo video of μSpeech in action, but you’re more than welcome to grab it via github for your own project. Send us a video of μSpeech in action and we’ll put it up.

Controlling A Mouse With Your Voice

It’s entirely possible to use a computer without the aid of a mouse or trackpad. Shift and arrow keys will get you very far, but that is entirely too taxing. [Stephen] came up with a really neat way to control a mouse with your voice, a project that is sure to find its way onto the desktops of those with mobility issues very quickly

The voice controlled mouse works in conjunction with the voice recognition built into OS X, a little AppleScript, and a touch of Python. When the user says, ‘show grid’ a 10 by 10 grid numbered 1 to 100 is displayed on the screen. By saying ‘thirty five,’ the cursor moves to the 35th cell in the grid. From there, the mouse can be controlled by speaking cardinal directions such as South and Northwest.

[Stephen] put up a very clever demo of his Voice Mouse project available after the break. Even though he did have a little difficulty with his mac recognizing a few of his spoken commands its light years ahead of trying to navigate the web with just shift and arrow keys.

Continue reading “Controlling A Mouse With Your Voice”

Vowel Recognition Using An ATmega644

[Youchun Zhang] and [Annie (Wei) Dai] found a way to differentiate vowel sounds using an ATmega644 as their final project for a microcontroller design class. Voice recognition is not out of the ordinary, but most of the time it uses a computer, smart phone, or specially designed hardware. This implementation uses an ATmega644, a microphone connected via an op-amp, and a few buttons. In the demonstration after the break you’ll see that they’re outputting status data to Putty via an RS232 connection, but that’s just so you can see what’s going on inside the chip. It’s what’s doing all of the hard work.

In order to tell the difference between vowels, the waveforms of each sound were analyzed using MATLAB during the research phase. That analysis allowed the team to assemble data for each sound that contained the peaks least often found in the other sounds. Now the microcontroller analyzes incoming sound, comparing it to that data set. The analysis is snappy, happening in real-time thanks to the team’s use of the Fast Walsh Transform. It turns the sound into a set of square waves and presents them as a 64 bit sample. The result can be used as a password protection scheme, but as far as we can tell this doesn’t key to just one person, anyone who knows the vowels of the password can use it.

Continue reading “Vowel Recognition Using An ATmega644”

Cheap Voice-controlled Lighting

voice_controlled_home_automation_board

Voice-controlled home automation doesn’t have to be wildly expensive if you have a little bit of time and some know-how to do the job yourself. [jjshortcut] wanted to control the lighting in his room without using physical switches. On his blog, he describes how he did it without spending a ton of money.

He picked up a VRBot speech recognition module on eBay, which is an easy way to get your feet wet with voice control. The device has a bunch of built-in speaker independent commands, as well as the ability to record up to 32 custom triggers. Rather than mess with mains voltage and build his own light relays, he purchased a simple set of wireless light switches and began hacking.

He spent some time sniffing the wireless communications protocol to figure out how the lights were triggered, then he replicated that functionality using an AVR and a cheap 433 MHz module.

The system seems to work quite well despite how cheaply he was able to put it together. Stick around to see a quick video of his voice recognition system in action.

Continue reading “Cheap Voice-controlled Lighting”

Adding Speech Recognition To Your Embedded Platform.

[youtube=http://www.youtube.com/watch?v=OEUeJb6Pwt4&feature=player_embedded]

Last week, we posted a story about how to configure speech recognition at a beginner level. Several of the commenters expressed an interest in doing speech recognition for embedded devices. [Nickolay Shmyrev] volunteered to write some directions for those people. In this article, [Nickolay] will be taking you through the basics of setting up your embedded device with CMUsphinx an open source toolkit for speech recognition. He gives programming examples in both C and python. Though we are hosting this, we haven’t set it up and tried it, so please direct any questions you have at [Nickolay] in the comments.
Continue reading “Adding Speech Recognition To Your Embedded Platform.”