Help with LED VU Meter

My initial problem of having the LED's not light up is already fixed, I just didn't connect ground to a few LED's so it works now. I am just curious as to why the system stops working if there is too much input. Is there an error message or anything as to why this happens?

Most likely you overdrive / overload arduino with your audio input signal.
Data sheet for Atmega328 says that voltage present at any input, including analogs must be:

Voltage on any Pin except RESET with respect to Ground .........-0.5V to VCC+0.5V
*NOTICE:
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent dam-
age to the device. This is a stress rating only and functional operation of the device at these or
other conditions beyond those indicated in the operational sections of this specification is not
implied. Exposure to absolute maximum rating conditions for extended periods may affect
device reliability.

Audio signal is AC or Alternating current, which means it's positive for half period of time and negative for other half period.

edited:
Arduino couldn't tolerate negative voltage, if it's more than 0.5V, so bare minimum protection circuitry should include schottky diode + resistor to cut off this.
For positive voltage, maximum is Vcc +0.5V, it could be 5.5V ( or 3.8V for boards with power line 3.3V). The easiest way to protect against "overdrive" in positive area is a zener diode at the input Vz = 5.1V , 1N5231B, (Vz = 3.6, 1N5227B, for boards with VCC = 3.3V).

And next, it's nice to have envelope detector at the input, as amplitude of the audio signal varying too fast for arduino to catch up with. Microprocessor has other stuff to do, it doesn't measure voltage continuously, and simple capacitor + resistor would help to hold peak till arduino find a time to check it.
You can buy a VU shield, or build your own according to attached schematic.