How can I make a voice recognizer using Arduino Uno Rev3?

I have Arduino Uno Rev3. I want it to recognize a particular phrase, compare it with a voice sample and if it matches, return a sound. I am making the preamplifier for a condenser microphone and also connected a buzzer (for now). Also, can I connect the output of the amplifier to Analog In of my Arduino?

Thank You
-ElectricFox275

This is the schematic for the preamplifier:

Which voice recognition module will you be using?

Something like this

or this

or will you be using a ML algorithm such as KNN or TensorFlowlight and a trained model? A ML will also require a 32 bit MCU like a BLE or a ESP32.

Actually, I am not using a module... I am making it by myself.

Oi! Cool. Which ML (machine learning) algorithm will you be using? Got any trained models yet? Andan Uno will NOT do KNN or TensorFlow Lite.

I don't quite understand that... Could you please explain :grin:?

Basically you can't do voice recognition on an Arduino Uno. There is not enough processing power, nor memory to do this.
There is only enough memory to store about three seconds of audio on a Uno. Let enough store various sounds.

The only way to do it is to use an external module, or some sort of Artificial Intelligence methods on a much more powerful processor, like the BLE 33 sense.

Well words needs to be recorded and stored in a digital format, trained models. The Uno, which cannot do ML, will 'read' the sounds and convert them to digital signals. The digital signals will be compared to the trained models for a match.

Will I be able to do it on Raspberry Pi 3?

Or on the 'rp2040' ?

rp2040-datasheet.pdf (4.9 MB)

What did you favourite search engine come up with when you did a search?

I searched for "raspberry pi voice recognition" and got a lot of hits.

It said that RP didn't support audio input or analog input.

Well, an Arduino or an RPi is just a computer, and a computer is a Universal Turing Machine. So an Arduino can in principle do anything that any other computer can do, but it might take much much longer. If you want results in something close to real time, for example you say something and it gets output as text on the serial monitor within 5 seconds, it's highly unlikely that could be done on an Arduino. Unless of course you come up with a breakthrough algorithm of your own. That's why the kind of devices you linked to are made, they are special-purpose processors optimised for voice recognition.

Ohh... these? :point_up:

Using the words "arduino voice recognition module" in an internet search enigne should produce a good result set.

Do you want voice or speech recognition? The former is a lot easier than the latter.

Exactly. Do you only want to know who is talking (voice recognition) or do you want to know what they are saying (speech recognition)?

1 Like

Not by itself. The Raspberry Pi runs under Linux and so is not a real time system.
There was a Google kit that did voice recognition by connecting to the internet like a lot of computers do. But I think this has been discontinued now.

The way to have sound input is to fit a sound module onto the USB input. Then you can use things like Audacity to do sound recordings. But it is not great.

Have you any idea how difficult this project is? It is not a beginners project and even temples matching is a slow and difficult process.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.