Audio wave visualizer for multiple songs

[COLOR=black]hi people im a bit lost i have a visualizer here which plays mp3 and creates the audiowave. i would like it to be able to play mutiple songs but the simple script is evading me.i know it shouldnt be too hard but im confused can someone help me please.[/COLOR]

Here is the script. I know its needs changing in the first 10 lines just dont know how or where. please help my stupid self
play_mc.buttonMode = true;
stop_mc.buttonMode = true;
update_mc.addEventListener(MouseEvent.CLICK, updateColors);
update_mc.buttonMode = true;[/COLOR]
var songOne:Sound = new Sound(new URLRequest(“beat.mp3”));
var sc1:SoundChannel = new SoundChannel();[/COLOR]
[COLOR=black]function playSong(e:Event):void
sc1 =,99);
play_mc.enabled = false;
function stopSong(e:Event):void
play_mc.enabled = true;
[COLOR=black]sc1 =,99);
play_mc.enabled = false;[/COLOR]

var lineAlpha:Number = 0.5; //how visible the line in the center of the wave will be. Values range from 0.0 - 1.0
var lineColor:Number = 0x00ff66; //the initial line color, right now it’s a pink color
var lineThickness:Number = 1.0; //how thick your line will be
var red:String = red_txt.text; //sets the red value to the initial value of red_txt
var green:String = green_txt.text; //sets the green value to the initial value of green_txt
var blue:String = blue_txt.text; //sets the blue value to the initial value of blue_txt
var strength:Number = 0.8; //how strong the glow is around the line
var speedX:Number = 2.0; //how fast the blur flows by on the X axis - to change direction, give a negative number
var speedY:Number = 0.0; //how fast the blur flows by on the Y axis - to change direction, give a negative number[/COLOR]
[COLOR=black]//this function updates the colors when the “UPDATE” button is pressed
function updateColors(e:MouseEvent):void
red = red_txt.text;
blue = blue_txt.text;
green = green_txt.text;
lineColor = colorPicker.selectedColor;
[COLOR=black]//this is the heart of the visualizer
function visualizer()
var ba:ByteArray = new ByteArray();
var bmd:BitmapData = new BitmapData(300, 100, true, 0x000000); //IMPORTANT! - You want to make sure the first two parameters are your stage width and height respectively
var bm:Bitmap = new Bitmap(bmd);
var sp:Sprite = new Sprite();
var blur:BlurFilter = new BlurFilter(2,2,3); //the paramaters for the Blur Filter - ex: BlurFilter(blurX, blurY, Quality);
//the ColorMatrix below I do not know much about. I do know you basically only want to alter the values I am altering.
var colorMatrix:ColorMatrixFilter = new ColorMatrixFilter([
red, 0, 0, 0, 0,
0, green, 0, 0, 0,
0, 0, blue, 0, 0,
0, 0, 0, strength, 0
addEventListener(Event.ENTER_FRAME, loop); //sets up the loop function to run every frame per second[/COLOR]
[COLOR=black] //the “loop” function below draws the center wave line based off of the sound spectrum of your audio
function loop(e:Event):void
{;, lineColor);, stage.height/2);
sp.alpha = lineAlpha;
for (var i:uint=0; i<256; i++)
var num:Number = -ba.readFloat()200 + stage.height/2;
2, num);
bmd.applyFilter(bmd,bmd.rect,new Point(),blur); //applies the Blur Filter
bmd.applyFilter(bmd,bmd.rect,new Point(),colorMatrix); //applies the ColorMatrix Filter
bmd.scroll(speedX,speedY); //this is where “speed” sets how fast the ‘flow’ of the filters will be