Wave Shield is not going fast enough

the delay between breaking the beam and a noise being played is slow

Delays are neither fast or slow. They can be long or short.

 // check the button state
  buttonStateRaw1 = Wire.read();                                     
  delayMicroseconds(3);

The code does not go with the comment. What are you using Wire for?

  timeSinceButtonPush1;

What is this supposed to do? Perhaps you should just replace it with:

   47;
  int analog0;  
  delay(2);

  if(analog0 > 100 && analog0 < 300) // button1
  {

Crap code. You have not assigned analog0 a value, so it contains an undefined value. Expecting the value to be in some range is absolutely pointless.

That was as far as I could stand to read.