Sound sensitive microphone to LED...

Hi again mate,
Sorry for the late reply, been in the thick of a building project for the piece of work and the logistics have been a nightmare!
Right, I have bought a couple things since the last post. I bought the amplifier as you previously posted, but I havent really tested it properly as of yet as I found a new thing to give a go, which is this SparkFun Electret Microphone Breakout - BOB-12758 - SparkFun Electronics but having just as much problems with this as before, As although I have used some code to find the output, it seems very unreactive especially to sound from a distance of anything more than about a foot or 2, away from loud sounds like slamming doors that seem to work...
The first thing I really need to know is whether the microphone is sensitive enough to pick up the signal of voices within an 8ftx8ft wooden cube, with the microphone due to be at the top of the cube facing downwards from the roof... I've tried using a few different codes to see but they all seem to be reactive to only louder/sharper sounds (in the same way the microphone alone was before using an amp with it originally...) I know have two microphones, an amplifier and this Sparkfun breakout board, and I will be trying the amplified microphone in a few minutes, but I have to say I'm starting to panic a bit. I have to get it sorted asap for my final show and am beginning to worry as I am trying to learn quickly with the arduino.
Coding wise I found a couple of codes that should essentially work, one that seems ideal but, although reactive in the way that I would like (the light going on when noise is present close to it and at a relatively similar level and length of time as the voice) it instead blinks instead of just turning the light on fully or gradually in accordance with volume... the reason I went sparkfun was due to this code and the explanation on this website Inkling but I have no idea why it would blink instead of just turn on... In regards to the sensitivity and this coding issue, it leaves me with two massive worries lol I'll past the code below to show you what I mean:
/*
microphone sketch

SparkFun breakout board for Electret Microphone is connected to analog pin 0
*/

const int ledPin = 13; //the code will flash the LED in pin 13
const int middleValue = 512; //the middle of the range of analog values
const int numberOfSamples = 128; //how many readings will be taken each time

int sample; //the value read from microphone each time
long signal; //the reading once you have removed DC offset
long averageReading; //the average of that loop of readings

long runningAverage=0; //the running average of calculated values
const int averagedOver= 16; //how quickly new values affect running average
//bigger numbers mean slower

const int threshold=400; //at what level the light turns on

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
long sumOfSquares = 0;
for (int i=0; i<numberOfSamples; i++) { //take many readings and average them
sample = analogRead(0); //take a reading
signal = (sample - middleValue); //work out its offset from the center
signal *= signal; //square it to make all values positive
sumOfSquares += signal; //add to the total
}
averageReading = sumOfSquares/numberOfSamples; //calculate running average
runningAverage=(((averagedOver-1)*runningAverage)+averageReading)/averagedOver;

if (runningAverage>threshold){ //is average more than the threshold ?
digitalWrite(ledPin, HIGH); //if it is turn on the LED
}else{
digitalWrite(ledPin, LOW); //if it isn't turn the LED off
}
Serial.println(runningAverage); //print the value so you can check it
}

Then I found another example that didnt work at all originally, which is the following code:
/*
This is the code to make a LED blink with the music.
You have to set the threshold so it' sensible enough to make the led blink.

You connect an LED to PIN13 and the Sound Sensor to Analog Pin 0
*/

int led = 13;
int threshold = 500; //Change This
int volume;

void setup() {
Serial.begin(9600); // For debugging
pinMode(led, OUTPUT);
}

void loop() {

volume = analogRead(A0); // Reads the value from the Analog PIN A0
/*
//Debug mode
Serial.println(volume);
delay(100);
*/

if(volume>=threshold){
digitalWrite(led, HIGH); //Turn ON Led
}
else{
digitalWrite(led, LOW); // Turn OFF Led
}

}

The above was from this website which has a youtube showing a similar thing (seems to be minus amplifier) but reacts to music perfectly well... Feel like I'm a bit cursed with this project at the moment lol

I then modified the two codes to make them work just by pasting in the second part of the second code into the first, but then I lost all output on the serial, and any adjustment that does all of the sums in the first one... Heres that horrible hybrid mess ha:
/*
microphone sketch

SparkFun breakout board for Electret Microphone is connected to analog pin 0
*/

const int ledPin = 13; //the code will flash the LED in pin 13
const int middleValue = 512; //the middle of the range of analog values
const int numberOfSamples = 128; //how many readings will be taken each time

int sample; //the value read from microphone each time
long signal; //the reading once you have removed DC offset
long averageReading; //the average of that loop of readings

long runningAverage=0; //the running average of calculated values
const int averagedOver= 16; //how quickly new values affect running average
//bigger numbers mean slower

const int threshold=800; //at what level the light turns on

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop(){
sample= analogRead(0); //the microphone takes a reading from analog pin A0
if (sample > threshold)
{
digitalWrite (ledPin, HIGH); //if the reading is greater than the threshold value, LED turns on
delay (250); //LED stays on for a half a second
digitalWrite (ledPin, LOW); //LED turns off
}
else{ digitalWrite(ledPin, LOW); }
}

The above made it work without the blink, but as mentioned I lost all serial output (I have since tried to write it in with no joy) and also added a delay, which just isnt what I was looking for to be honest. I wanted the flicker to work with peoples voices, so in accordance with a soundwave kinda thing, so the louder and longer the person speaks the brighter and longer the brightness lasts...
I apologise again for being so lacking in knowledge with this, but I really am trying as you can probably tell so hopefully that should negate some of my relative stupidity lol For all of the above, I tried changing the threshold to suit the average between the numbers, but either the light just stayed constantly on when lowering the value below 500, or went even less sensitive to the sound when moving the value toward 1000 to test it out...

This is the last bit of code I'll post, as this was my attempt at seeing if the serial monitor could sense any sound (minus output) from the breakout board from about 8ft away, but the numbers barely moved unless clapping into the microphone, or again things like doors shutting make a difference but that's not really what I'm going for...
int sensorValue;

void setup()
{
Serial.begin(9600); // sets the serial port to 9600
}

void loop()
{
sensorValue = analogRead(0); // read analog input pin 0
Serial.println(sensorValue, DEC); // prints the value read
delay(100); // wait 100ms for next reading
}

All seemed to be within the 400 and 600 values but fluctuating even when quiet...

Here is a list of all the bits I have for the arduino just so we know what I'm working with...

http://www.ebay.co.uk/itm/351020212990?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
http://www.ebay.co.uk/itm/281169092289?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
http://www.ebay.co.uk/itm/191126721706?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

I have done a bit of reading and wonder if it would help and make any difference to bite the bullet and go for something which seems to be a little more comprehensive... Lots of things about sound pressure being mentioned in the posts I'm searching through and this seems to detect it, but its costly and I dont think I'd have the foggiest idea how to adapt a code for it as it seems pretty complex and of course as we have figured I'm not very good at this kind of thing yet...

Either way, any advice or help is much appreciated as it has been so far. Thanks again!