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.