audio FHT, I2C and ShiftPWM in the same time - possible?

I am planning an RGB LED strip controller built on the Raspberry Pi communicating over I2C with an ATMega328P with an Ardunio bootloader. Right now I am waiting for the USB to serial converter to be able to program the chip, so now I can not test my ideas, and I do not know if the ATMega is capable of doing so many things at once.

Normally I want the ATMega to controll the LED strip over hardware PWM, and to controll some additional RGB LEDs connected by a shift register using the ShiftPWM libary libary, and receive the colors to set the LEDs and the strip. The hard work is the color organ feature I plan: the Ardunio would have to read the analog audio input, FHT the input data for three bands using the ArduinoFHT libary, send the data to the Raspberry Pi and receive the colors from it, all this while doing the hardware and SPI PWM. Another option is not to send the audio data, but to use the chip for calculating the colors, but I prefer the first one. I want to have at least 30fps, so the whole process should take at most 1s/30=32ms time.

Is the ATMega328 capable of this clocked at 16 or 20MHz, or I am better using the msgeq7 EQ chip for the FHC?

There is no compelling advantage to using the FHT over the FFT on the Arduino. The run times for the OpenMusicLabs FFT are stated on the opening page.

jremington:
There is no compelling advantage to using the FHT over the FFT on the Arduino. The run times for the OpenMusicLabs FFT are stated on the opening page.

Um, the page you linked seems to say that FHT is twice as fast?

A worst case difference of about 3 milliseconds is not compelling to me and that would be for 128 bands.

#Godot11: if you really need only 3 bands, consider a passive filter network. With four resistors and four capacitors, you can make low pass, band pass and high pass RC filters tuned however you like. Google "color organ schematic" for examples, e.g. Rig Your Own Light Up LED Organ [Instructables How-To]