Go Down

Topic: Bass beat detect (Read 1 time) previous topic - next topic

eliasojala1234

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

Riva

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

dariosalvi

Hi,

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?



Magician

Quote
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.

dariosalvi

Hi,

in the end I made it!

http://bochovj.wordpress.com/2013/07/07/bass-detection-with-arduino/

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

Go Up