Addressable RGB LEDs with arduino?

Say I have about 20 RGB LEDs and an arduino board.
I'd like to be able to control the color of each LED via my computer either in relationship to music or a set pattern.

However, I'm not sure where I should even begin. Any suggestions?
I will need some kind of software or program to control them.
I'll need some way to drive the LEDs - any suggestions there?

I thought about asking one of my engineering teachers for help but I figured I would come here first.

If you have 20 RGB LEDs that is the same as having 60 individual LEDs all to control with varying brightness.
This requires extra hardware, the TLC5940 chip is popular and will control 16 individual LEDs. So for your 20 RGB LEDs you require four of these chips cascaded.

You can cut down on this by multiplexing them, however this means they are not as bright and they need software continually switching them. I used this technique in this project:-
I only used 16 RGB LEDs but the circuit is good for 21 RGB LEDs