Chance Based System Progress

So, I got started in Processing today! The Minim library makes it very easy to incorporate music as an input.

My first test was just to read in a music file and display the sound waves. The following images shows both the left and right channels.


This immediately reminded me of A. Michael Noll’s “Gaussian Quadratic,” so I turned the waves forms to display vertically.  I also disabled the reset background line of code and adjusted the opacity of the line stroke, so that you can still see the previous wave forms.



Next, I started playing around more with color and the line stroke. The color, as of now, is completely randomized for each new wave form.  This is a combination of the left and right channels:


I decided to enlarge part of the wave form, making the lines more linear.


At this point, I decided to use the strokeJoin() along with the start/endShape() to avoid the dots caused by the end and start of a new line. I also  adjusted the starting x-position of the wave form based on the ending x-position of the previous wave.


After some time I decided I much preferred the curved shapes given by the wave form.

Time to let a whole song play through! For testing purposes, I chose two different songs: Gorillaz – Feel Good Inc and Kishi Bashi’s – Manchester. Two main things stood out from this iteration that I disliked: (1) the straight vertical lines caused by the silences at the beginning and the end of each song, and (2) there wasn’t a whole lot of variation between the two songs.

Chance Based System, Iteration I, Gorillaz, “Feel Good”
Chance Based System, Iteration I, Kishi Bashi, “Manchester”

To resolve these issues, in my second iteration I incorporated the BeatDetect class (also from the Minim library), which allowed me to analyze the song for rhythmic onsets. I restricted my program to draw a line only if a beat was detected. This took care of the straight lines created during the fade in/out at the beginning/end of a song. It also allowed more visual differences between “Feel Good Inc” and “Manchester.” Since “Feel Good Inc” has a higher BPM, there are more wave forms filling up the space.

Chance Based System, Iteration II, Gorillaz, “Feel Good Inc.”
Chance Based System, Iteration II, Kishi Bashi, “Manchester”

I am very happy with the direction my project is heading in. Since the color is currently random, I would like to start experimenting with color and FFT song data next.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s