Basic software architecture for LED "display"

This probably means I'm not going to be much help, but what are HSL and HSV?

You should be able to do it all on the Arduino.

I guess you could pick out the beat by smoothing (low pass filtering) the signal and then detecting local maxima. Or, do it in hardware and just have a comparator that picks out the drum or whatever going over some threshold.