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.