With this example as a starting point, I decided to make an audio visualiser that uses FFT data to drive a 3d modifier.
The implementation is fairly simple, FFT data is used to modify the Y position of the verticies at one end of the "pixel tunnel". With each frame the modifier adds a new set of data and shifts the previous ones down a row, reducing their values slightly each time.
A couple of bitmap filters process the display to add the decaying vertical trails and there is some simple beat / peak detection used to change the visual effects in time to the music.
To use the app, select an mp3 file using the right-click menu - it will load, be parsed, and start playing. Enjoy...
But wait, there's more!
As an added bonus there are more fp10 specific features packed into this little app - after loading an mp3 try the arrow keys and moving the mouse about...
Audio processing: It seemed wrong not to implement some, so I took a couple of effects processors from an fp10 audio framework I've been working on (more on that later) and added them to the output stream.
Local mp3 loader: The app uses a version of the lovely mp3 wrapper from flexible factory to parse the locally loaded mp3. I also modified the wrapper's internals to implement id3 tag parsing using ben stuki's id3 parser. So, if the mp3 you load has ID3 information, it will be parsed and displayed.
Note: Some id3 tags aren't being parsed correctly at the moment, I'm aware of this I'll get to it eventually. In the meantime if anyone fancies improving any of the code then feel free - post suggestions/ improvements back here - I'll update the sources and make the new package available.
Also: If you're running this in the debug player the performance will be poor and on slower systems it could hang/crash your browser - consider yourself warned.
I'm aware there are issues when running this on a Mac, I'm working on them and will have a fix up shortly.
The Mac compatability issues should be sorted now. It seems that in the Mac version of player 10 you can't access the file extension of a FileReference. I'm reading it from the filename now.
- Left - Sample rate reduction (toggle)
- Right - Resonant Filter (toggle)
- Up - Simple Delay (toggle)
- Down - Extra visualisation (toggle)
- F1/F2 - Volume down/up