I have been working on this same project for quite some time and have finally had large amounts of success. Are you looking to do live synchronization from an mp3 cable or do you want to use prerecorded mp3s or wavs?
If you want to use an mp3 cable, just get a splitter adn run one to your speakers as normal and the other goes to the arduino. BUT there is an ic/chip that you need called the MSGEQ7 that will analyze the audio signal and break it into 7 different frequency ranges that the arduino can read via analog input. The circuit also requires at least 2 digital IO pins for controlling the ic. You can see a complete demo of the MSGEQ7 here: http://nuewire.com/info-archive/msgeq7-by-j-skoba/
I have been working on a system that controls RGB LEDs and can be set to different modes like Fade from one color to another, solid color, swap fade where 2 "channels" swap fade their colors, and of course music synchronization. I use a series of MOSFET transistors to drive high powered RGB LED strips. The same concept applies to single color LED strips as well. By using the transistors, the arduino is protected from over voltage and over amperage and the LEDs are able to be powered to 100%.