I'm trying to figure out how to process a voice signal for simple purposes. Wherever I look people using or suggesting recognition modules for Arduino.

What I'm wondering: is this possible to make a simple command recognition with Arduino, without modules?

I just simply want to attach a microphone to my Arduino and after I convert it I want to handle signal and program it in MATLAB or in an Arduino itself. How can I achieve that?

As you can see I'm newbie in this. Any help is appreciated. Thanks!

  • Perhaps, for an extremely crude meaning thereof - years ago, Radio Shack used to sell a fixed function IC that purported to recognize a few commands. But how is an algorithms question far beyond the scope of the Arduino site. If you wanted to seriously do this, you'd start by proving your algorithms on a PC taking data from the sound card, while keeping the limitations of a platform like the ATmega in mind. Nov 17 '17 at 2:11

No, it's not possible. The Arduino is not powerful enough to run the algorithms needed.

You need something with far more processing power, memory and storage. Something like a Raspberry Pi, maybe, or a desktop PC.

Or just use one of the many commonly available VR modules you can buy on the internet for next to nothing.

  • The erroneous idea than an Arduino is not a computer is only viable in people who aren't trying to learn to use an Arduino, which presumably excludes the entire audience here. Those that are need to quickly learn that Arduino programming is computer programming constrained by limited resources. In the process they might discover that they're well on their way to being able to program their PC as well (apparently almost all the way there if they use something like Processing) Nov 17 '17 at 15:17
  • @ChrisStratton There are certain fundamental differences between an Arduino and the popular conception of what a computer is. Most notably is the lack of an operating system. The device that everyone thinks of as a computer (aka PC, Mac, Whatever) runs an operating system. Agreed, there are devices that blur the line between a "computer" and an "embedded computing device", such as the Pi, but the Arduino is so far away from that line that you can completely ignore it.
    – Majenko
    Nov 17 '17 at 15:19
  • No, you can't - because it's not a line but rather a spectrum. Some peole run operating systems like freertos on basic Arduinos. Some of the same hardware that better runs freertos can also run Linux. Some of the hardware that better runs Linux can also run other PC operating systems... To actually understand these things, you have to be willing to see how they fall in connection to one another - treat them in isolation, and you'll never truly understand either. Nov 17 '17 at 15:22
  • @ChrisStratton I know that, and you know that. The users that struggle to even comprehend that they have the computing equivalent of a robin reliant in their hands really don't need to know that sort of thing. They need to be told that they have a robin reliant, not a jaguar. They think that just because it's a programmable device it's capable of the same things as the computer on their desk. It's not. And no amount of arguing about spectrums, etc, is going to change that. Ever. Ever ever. Full stop. Exclamation mark. 5 seconds of basic reading would set them straight, but they don't.
    – Majenko
    Nov 17 '17 at 15:28

Sadly, that's never an easy thing to do as it seems like. I have tried with microphone , amplifier, ADC , and an EEPROM to store patterns of voltage produced by a human voice for different people. But it looked unreliable in the end. EasyVR is a popular voice recognition module usually used with UNO.


is this possible to make a simple command recognition with Arduino, without modules?


a few examples:

1) use loudness: a loud shout-out means "turn on the led", and a whisper means "turn off that led";

2) use frequency: a high pitched sound means "close that relay", and a low pitched sounds means "open that relay";

3) or use sound patterns, ....

your creativity is the limit.

  • 2
    He is asking about voice recognition.
    – gre_gor
    Nov 17 '17 at 0:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.