### The Nature of Code/Audio Art Week 3

I combined this week's assignment for Audio Art and the Nature of Code. I took one of Daniel's attraction examples, modified it slightly, and hooked it up to some sound synthesis patches in Max/MSP.

Click screen shot above to see the applet. All of the sound stuff was done in Max/MSP, so the applet on its own isn't very interesting.

The idea was to make the motion audible. Processing sends the X and Y coordinates of each circle to Max/MSP. Max/MSP then uses these values to generate tones. I tried a number of different patches, each of which used an oscillator at the frequency of the Y coordinate to modulate an oscillator at the frequency of the X coordinate. Some clips from these experiments are presented below. You can download the Max/MSP patches used for clips #6-#10 here (requires MaxLink).

More samples after the jump.

The next two samples are from a patch which assigned the X and Y coordinates of each circle to a separate oscillator (six oscillators total).

Motion Study #3 - Sines Clumped: All oscillators around the same frequency. (Download)

Motion Study #5 - Ring: Three ring modulators, in which an oscillator at the frequency of the Y coordinate of the circle modulates an oscillator at the frequency of the X coordinate. (Download)

Studies #6 and #7 come from a patch that modulated a carrier frequency (supplied via MIDI) by all six X and Y coordinates of the circles in parallel.

Motion Study #6 - Parallel FM: A single note that varies modulation over time. (Download)

Motion Study #7 - Parallel FM Tune: "Michael Row Your Boat Ashore" played using the same instrument in the previous clip. (Download)

The final three clips are taken from a patch that used additive synthesis. The X coordinate of each circle assigns a harmonic and the Y coordinate determines the amplitude of the harmonic.

To assign the harmonic, the pixel space was divided up into tenths and the harmonic assigned according to which tenth of the space the current X coordinate falls into. For example, assuming the pixel field is 1000 pixels wide, an X position between 0 and 100 would assign the second harmonic (fundamental frequency times two); an X position between 500 and 600 would assign the seventh harmonic (fundamental frequency times seven).

The Y coordinate of the circle determines the amplitude of the harmonic, ranging linearly from 0 (Y = 0) to 1 (Y = height of pixel field).