Go Down

Topic: Bass beat detect (Read 3098 times) previous topic - next topic


I'm making sound to light with arduino. It's work now with volume, but I want to make it work with frequency. I used normal sound wire from PC to arduino for sound detection. Can anybody help me to make arduino detect frequency?
Elias Ojala


Probably the easy answer would be to use something like the MSGEQ7 chip that splits the signal into 7 frequency bands. A tutorial here and youtube example here http://www.youtube.com/watch?v=xqN6QlAnjhw
Don't PM me for help as I will ignore it.



I am also trying to do something similar.
Basically you have three options:

1) analog filtering with something like the MSGEQ7
2) FFT analysis (there are plenty of them on the net)
3) some digital filtering, like a FIR

I am trying to follow the third option, but I want something simple and rough, like it is done here: http://www.instructables.com/id/The-LED-Matrix-Panel-or-LMP-for-the-Arduino-micr/
This guy basically implements three simple filters, but the code is poorly documented and I can't understand it very well.
As far as I have understood he sums the samples in a group of 2, 20 and 100. The more samples you add the lower the frequency, but then some magic happens that I can't understand :(

Does anyone have some suggestion?


but then some magic happens that I can't understand

Me neither. FIR filter is only possible with regularly - precise spaced samples, if that part is omitted, than everything else is just a non-sense.



in the end I made it!


the FIR isn't perfect but it's still a viable solution.

Go Up