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?