keep hearing about pulse width modulation but i have no idea what it really is or how to do it...
Do i have to buy an arduino pro Mini for each project i build and want to keep? Isn't there a way to burn the program onto a processor without buying a mini each time?
No you want a "Stand alone Arduino" - Google it.
Does that mean i cannot control brightness? Only color? I am a little confused...
The only way to control the colour is to control the brightness of the individual LEDs, so if you can control the colour you can control the brightness.
Where can i read about how to map it to color and brightness
There are many ways of doing this. The simplest is to take the amplitude value in each frequency band and use that number to set the brightness of one colour of an LED. But it can get very much more involved. Look up colour modelshttp://en.wikipedia.org/wiki/Color_model
Remember it can be easier than this.
Is there a place i can go to read about programming these LED strips?
Normally the web site you buy them from, failing that the Lady Ada and SparkFun websites have tutorials.
i feel as though they are not powerful enough to give a smooth consistent look,
Not sure what you mean. For better diffusion distance the LEDs some way off the diffuser and have a pre diffuser in between.
Is there an article i can read to explain how MOSFETs do this?http://bildr.org/2012/03/rfp30n06le-arduino/
Google is your friend.
How do you calculate how much amperage the power supply must be
You take the current for one LED and multiply it up by the number of LEDs you have.
I am a little confused about how to set that up though.
The strip has 4 connections. Voltage +, Voltage -, Data signal, Clock signal. Wire up the + and - to your 12V supply. Connect the - of your supply to the Arduino ground and the clock and data signals to the output pins of the Arduino, which output pins depend on the software.
Also what kind of memeory will i need to run 15 meters of LEDs?
Work it out, for one LED you need three bytes of memory, so multiply the number of LEDs by three to get the total memory size to define one pattern. Multiply that by the number of patterns, and then get an SD card to hold it in.