Go Down

Topic: Speech command recognition system (Read 2653 times) previous topic - next topic


Hi everyone, please i'm working on a voice command recognition system using Arduino Uno board, please my main idea is to use the arduino to recognize a particular word spoken by a particular person..say words like "up" and  "down"...i needed the system to be able to compare the word spoken by the person with the saved words and send an output if there is a match. I have designed a Band pass filter to filter out the noise from the spoken word before its sent to the arduino. Please i'm really new to Arduino..
my question is:

1. can Arduino be used for this project?
2. if yes! how can i save two or more words to it?

Please i really need a help on this!



1) See AWOL above
2) you could store patterns in EEPROM but as these are limited the quality would be mediocriate at best. The system would probably not discriminate between down and town or up and pub.

<thinking out loud modus>
What might be possible is the following, a vowel recognizer. I had a lecture once on a university where the prof showed us computer generated vowels by merging two sinus signals from specific frequencies. Range 800-1200 Hz (?). If you do the opposite , listen to a tone , do an FFT from it you should be able to recognize the twin peaks of a vowel I think ....

Check - http://arduino.cc/forum/index.php/topic,72729.0.html - for the FFT..

If you can recognize vowels you might be able to discriminate between U(p) and (d)O(wn)

Suprise us with a working vowel recognizer, please :)

Rob Tillaart

(Please do not PM for private consultancy)


Thank you guys for the quick responds, i do really appreciate it..i have been working on the project but i havent got to a good point yet. Actually, this is just a simple word recognition system, with limited words and i want to program the Arduino to be able to recognize the spoken words like "go" or "come" by turning on the LED when the right word is been recognized. I want to save each word in bytes into the EEPROM and they are to be recognized by the energy and the number of zero crossings of each words. I'm still writing the program i will post it soon but if any one has got any program related, please i will appreciate it and any suggestion is highly welcome please..:)

Thank you...


I did something similar in 1980 using a 1Mhz CPU, with far more than 2 words.
So it is possible!  Yes, the vowels are the key.


I did something similar in 1980 using a 1Mhz CPU,

Yes so did I but did you do it with only 2K of RAM memory?


You've got me beat!  I think it was 48k with a Timex Sinclair or maybe Atari?  If I recall much of the work was done with hardware?


I did something similar in 1980 using a 1Mhz CPU,


I wonder if you could do this with a pre-trained (on a PC) neural network, and put (most) everything in PROGMEM? With pre-training, a NN classifier (depending on what you use for the input feature set, and what the hidden layer needs - those might kill it for RAM) might fit...

Yeah - I know it is blue sky, and I am not a NN expert by any means (though my Stanford ML class is going well)...


Go Up