Вот, обычный до безобразия код)

Код AS3:
import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
var channel:SoundChannel = new SoundChannel();
var vol:SoundTransform = new SoundTransform(0.01, 0);
var snd:Sound = new Sound(new URLRequest("/media/song.mp3"));
channel = snd.play(0,100,vol);
var i:Number;
var n:Number = 0;
var j:Number;
var k:Number;
var p:Number = 70;
var arr:Array = new Array();
for (j = 0; j < 32; j+=1)
{
arr[j] = new Loader();
arr[j].load(new URLRequest ("/media/peak1.png"));
mc. addChild (arr[j]);
arr[j].y = 100;
arr[j].x = j*40;
}
addEventListener(Event.ENTER_FRAME, visualizator);
function visualizator(event:Event):void
{
channel.soundTransform = vol;
var bytes:ByteArray = new ByteArray();
SoundMixer.computeSpectrum(bytes, true, 0);
for (i = 0; i < 256; i+=8)
{
n = Math.abs(bytes.readFloat())*p;
if ( n > 100 - arr[i/8].y)
{
arr[i/8].y = 100 - n
}
}
for (k = 0; k < 32; k+=1)
{
arr[k].y +=3;
}
}