LEDs synced to PC audio

Hello, so I'm new to this stuff, so after searches and searches, i decided to ask.

What I want to do is get audio from my PC (through the Arduino cable, if possible without using mics and any other kinds of cables), analize it in real time and control a few LEDs depending on what the frequency is. 0-100Hz - blue LED is on, 101-200 a red one and the blue one too, etc.

Is that even possible? What should i do first? Is there a library that can do it? I'm prone to writing a program that runs on the PC if the Arduino can't do it, as long as it's done in real time and uses whatever i'm listening to at the moment.

Any help is appreciated.

MSGEQ7 is a chip that works with the Arduino to analyze frequencies. You cannot pick the frequency ranges, though, they are preset across 7 bands.

You can look up fast Fourier transform if you want to try making up something yourself. Audio signal involves negative voltages which the Arduino does not handle, so you need to think about how you're putting information to the Arduino.
Since you have a PC running anyway, I would just do the processing on the PC and the Arduino wouldn't be anything other than an LED driver.

What I want to do is get audio from my PC (through the Arduino cable, if possible without using mics and any other kinds of cables),

If you want to use the USB connection you'd have to write a PC application and an Arduino sketch.

Disco/party sound activated lighting effects normally plug into the analog audio, or sometimes they pick-up sound with a microphone.

With the MSGEQ7 you'd use the computer's analog headphone or line output (with a Y-splitter so you can also plug-in your speakers/headphones).

If you want to connect a line-level or headphone level signal to an analog Arduino input, you need to [u]bias the Arduino's input[/u]. Without the bias the Arduino can't read the negative half of the AC audio signal, and the Arduino can actually be damaged by negative voltages (or voltages greater than +5V) and/or the audio signal can be "damaged" (distorted).