I like watching an audio visualizer of Win-Amp or iTune. Sometimes it’s so beautiful, so I loose myself and just keep watching it. I thought if I could add some interactivity to them, it would be even more interesting. Also at that time, I had just learned some programming languages (Java, PHP) and Data Structure and Algorithm, so I wanted to try something interesting with my new tech. As a graphic design collage student, learning programming was not usual, but I think it really enlarged the area of my expression.
I wanted to use audio amplitude to move particles and draw lines. I looked at Java multimedia api and check every possible way, but I found it’s not so easy. It’s pretty simple to play music or control volume. However, to get audio amplitude, I needed to write my own audio file format decoder. Well, finally I couldn’t do that. Instead, I used little dirty method. First, I made a sequence of very small images whose brightness represents audio amplitude using Adobe After Effects in which we can connect audio amplitude to any attribute of image. Then, I converted those images to Java array code using PHP image function, so each applet includes audio amplitude data in its code, which means if I want to use long music, the applet file size gets larger. It’s not good, but I thought it’s ok for this project, and I didn’t have any better solution. Actually few month later, after I finished this project, I found there was a better solution if have used Processing with a plug-in.
For this 2D particle system, I used Linked List data structure which is more efficient then Array when the number of particles has to continuously change, and especially the maximum number of particles is not decided.