I would use a 8ohm car speaker for the sound(1 music track/song)
The Arduino can make basic tones with the tone() function, but if you want to play a regular music file (like an MP3) you'll need an [u]MP3 Shield[/u] (or a WAV shield) with an microSD card to store & play the music file.
You'll need to build or buy an amplifier to drive a regular 8-Ohm speaker. Or, you can use "powered" computer speakers, which have an amplifier built-in.
I would use LEDS for the lights.
You can directly drive a few regular LEDs directly from the Arduino. If you want to drive may LEDs, high-power LEDs, or an LED strip, you'll need some additional electronics. (Except some LED strips have the driver circuit built-in.)
If you can understand how the [u]Blink Example[/u] works, you can modify the code to make a more complex blinking pattern and/or made several LEDs "chase", etc... Whatever you want to do.
Note that the Blink Example uses delay(). As a rule, you should avoid delay() because the processor pauses during the delay time and it can't do anything else. The Blink Without Delay Example shows you how to time events without using delay().
However, most of the MP3/WAV shields operate on their own once you start the song playing so it might be OK to start the music first and it won't matter if the processor pauses during delay().