I am making this inmoov Robot Head with some modifications.
I have used Arduino mega with mg90 servos controlled using PCA module. Now I want to add some voice interaction features in my robot. First of all I want to add sound localization so my robot head rotates toward the speaker . Any guidance about components required is appreciated
Locating sound sources projects has been the titlle before. Try the Search Function, up to the right in this window. Being mobile I'm a bit limited for the moment.
I have searched and find one post but there is no solution in his post
Maybe that's the answer.
I think you're telling me that it's not possible
Yes. As I remember the direction finding was uncertain.
Sound source localization is a very challenging problem, especially in a room with echos.
I have seen some blogs and use chatgpt.
Some are suggesting to use adafruit MEMS Microphone Breakout or respeaker mic array with esp32 for this mechanism.
Here is how:
By using serial communication, you can effectively coordinate the ESP32's sound localization capabilities with the Arduino Mega's servo control to make the robot's head turn towards the sound source in real-time.
A simple search found this one for starters:
Thanks, I will definitely check it out
In this thread I have two videos showing my sound source direction algorithm.
The link goes straight to the latter video in the thread. I managed to delete the sound track from the video, but you see me moving around as the serial plotter shows 17 distinctive directions.
In short, I record sound with two microphones. Then I pattern fit the left and right channel sounds and count the time shift. From that I calculate the direction of the sound source.
@Johan_Ha it would be nice of you to post the code, schematic diagram and component specs for the sound localization project.
It will be appreciated if you post schematic diagram, code and components
Right now it's a work in progress Hackster project. I will publish it later tonight.
[edit]
Here:
The basic approach is very nice, thanks!
It is worthwhile pointing out to beginners that the MCU you are using is quite powerful, with a 150 MHz clock, and lots of memory. The approach won't work with lesser Arduinos, like the Uno R3, but should work on an ESP32 or comparable.
I have read the complete article, but the components you are using is far away from us. We can only used Arduino or esp32.
Nice You should take a look at "Correlation" and how it's calculated using FFT - just in case you'd like it to be faster.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.