Le code :

var music:Sound=new Sound(new URLRequest("testson2.mp3"));
music.play();
var ba:ByteArray = new ByteArray();
addEventListener(Event.ENTER_FRAME, handlerEnterFrame);
var i:int;
var puissance:int = carretest.totalFrames;
var grave:Number;
var aigue:Number;
var valeur:Number;
var values:Array;
function handlerEnterFrame(e:Event):void {
SoundMixer.computeSpectrum(ba, true, 0);
/* le tableau des valeurs*/
values = new Array();
/* recup valeurs left channel */
for (i=0; i<256; i++) {
values.push(ba.readFloat());
}
/* recup valeurs right channel et ajout aux valeurs left channel */
for (i=0; i<256; i++) {
values[i] += ba.readFloat();
}
/* valeur grave = moyenne des n premières valeurs */
grave = moyenne(0, 5);
/* valeur aigue = moyenne des n dernières valeurs */
aigue = moyenne(40, 255);
carretest.gotoAndStop(Math.round(grave*puissance));
carretest2.gotoAndStop(Math.round(aigue*puissance));
}
function moyenne(from:int, to:int):Number {
var s:Number = 0;
var t:int = 0;
for (i=from; i<=to; i++) {
 s += values[i];
 if (values[i] < 0.2) continue;
 t++;
}
return (s / t);
}

le fichier source