Wave Shield + vrbot = help!!!!!

Hello, im relatively new to the Arduino platform but have been working with the basic stamp microcontroller for years. In my previous project I made a robot exclusively using the bs2 that had voice recognition (vrbot) and text to speech (emic TTS Module). Now ive started a similar project using both the Arduino and BS2 and im lost. First off, I purchased and assembled the wave shield, tested it, and it works fine, next I used my bs2 microcontroller and programmed the vrbot to work on there . I was planning on running a serial line that would send an ASCII letter to the arduino for every phrase I said to the bs2. so far Im able to send the letter A when I say Robot-Move-Foreward and B when I say Robot-Move-Backward. and the arduino reads them fine. The part Im stuck on is getting the arduino to play an audio file accordingly when it receives a letter from the bs2. Ive seen the example code from Ladyada.com that plays audio clips from serial commands but that didnt make much sense. I know Im asking alot but could someone show me how 2 get the audio files to play based on the incoming serial ASCII letters? Thank you in advance ;D

Arduino code:

#include <NewSoftSerial.h>

NewSoftSerial BS2(0, 255); // receive only

void setup() {
Serial.begin(9600);
BS2.begin(9600);
}

void loop() {
if(BS2.available() > 0) {
bs2data = BS2.read();
Serial.print("Received from BS2: ");
Serial.println(bs2data);

if (bs2data == 'A')
{

Serial.println("ROBOT MOVE FOREWARD");

}

if (bs2data == 'B')
{

Serial.println("ROBOT MOVE BACKWARD");

}

}
}

have a look at:

http://www.ladyada.net/media/wavshield/wavehc_play6.pde

there you see how you can play a file based on switches:

void loop() {
  //putstring(".");            // uncomment this to see if the loop isnt running
  switch (check_switches()) {
    case 1:
      playcomplete("1.WAV");
      break;
    case 2:
      playcomplete("2.WAV");
      break;
    case 3:
      playcomplete("3.WAV");
      break;
    case 4:
      playcomplete("4.WAV");
      break;
    case 5:
      playcomplete("5.WAV");
      break;
    case 6:
      playcomplete("6.WAV");
  }
}

Thank you for your help. I've decided to use the MediaPlayer library because I was told it was easier to use. Ive tried implementing the serial communication between bs2 and arduino code with the media player code and ran into more problems (again I do apologize if these are dumb questions, I'm what you would call a newb) The error message says BS2 was not declared in this scope. Along with that Im POSITIVE there are other problems with the code. If anyone could assist in revising my coding errors it would be much appreciated. Thank you in advance ;D

#include <avr/pgmspace.h>
#include "util.h"
#include "MediaPlayer.h"
#include <NewSoftSerial.h>

void setup() {

NewSoftSerial BS2(0, 255); // receive only
Serial.begin(9600);
BS2.begin(9600);
}

MediaPlayer mediaPlayer; // create only one object, must be global

void loop()
{

if(BS2.available() > 0) {
bs2data = BS2.read();
Serial.print("Received from BS2: ");
Serial.println(bs2data);

if (bs2data == 'A')
{
putstring("\nPlay TWOBIT.WAV");
mediaPlayer.play("TWOBIT.WAV");
delay(2000);
Serial.println("ROBOT MOVE FOREWARD");

}

blinkLed();

putstring("\nThese files are on the SD card:\n");
mediaPlayer.exploreSDcard(true);

putstring("\nSD card file count = ");
Serial.print(mediaPlayer.exploreSDcard());

if(!mediaPlayer.play("Notexist")) putstring("\nFile not exist"); // result is false

putstring("\nSD card filename of file no. 3 = ");
Serial.print(mediaPlayer.fileName(3)); // now easier

putstring("\nPlay TWOBIT.WAV");
mediaPlayer.play("TWOBIT.WAV");
delay(2000);

putstring("\nPlay ILSE1.WAV without using stop()");
mediaPlayer.play("ILSE1.WAV");
while (mediaPlayer.isPlaying()) {
putstring(".");
delay(50);
}

putstring("\nPlay KREZIP1.WAV");
mediaPlayer.play("KREZIP1.WAV");
delay(2000);
putstring("\nPause");
mediaPlayer.pause();
if(mediaPlayer.onPause()) putstring("\nMediaPlayer on pause");
delay(500);
putstring("\nResume");
mediaPlayer.resume();
delay(2000);
putstring("\nStop");
mediaPlayer.stop();

playComplete("ANOUK1.WAV");

putstring("\nPlay all songs");
for(int i=1; i<=mediaPlayer.exploreSDcard(); i++) playComplete(i);
printAvailableRAM();
}

i think this should be outside the setup function:

NewSoftSerial BS2 = NewSoftSerial(0, 255);   // receive only