Art from Code: Digital Performer

Recently, I have been interested in sound performance that use interactive technologies. However, for this project I thought it would be interesting to practice the opposite idea, which is self-generated computer music. In the 80s, this was the common practice for electronic artists, who used technologies that were programmed to perform sequences of sounds. I wanted to emulate this method by having a visual pattern that would trigger sounds created within the computer. I began by researching how one can utilize sound in Processing 3.0, which led to multiple paths. I started with downloading a MIDI bus library as well as a library called ‘loom.’ Loom allows one to connect to virtual MIDI instruments to program sequences of both notes and colors. I toyed with this method, but decided to move on once I discovered Supercollider. Supercollider is a coding software used to create digital synthesizers and sequencers. It also can communicate through OSC or Open Sound Control which is accessed through a network address provided by Supercollider and a library in Processing. To operate the communication between the two softwares, Supercollider and Processing, I had to watch and read many tutorials. I tried many different approaches and many alternate methods of interplay between visuals and sound. In the end, I decided to use amplitude and pitch to control the strokes of a loop.

This method uses FFT which stands for Fast Fourier Transform that can process digital audio. I created a synthesizer that uses a fast sine wave oscillator with a wave that pulses through it changing the pitch. I created an array in Processing and sent a message from Supercollider to Processing using an ‘OscMessage.’ I then created three loops with the array to effect the red, green, and blue strokes of each one. The mouse’s Y location is also connected to the amplitude of the synthesizer. Basically, as the pitch of the synthesizer moves up and down, so does the amplitude, which triggers the strokes of the loop to pulse with the sound.

The first image is when the pitch and amplitude of the synthesizer are very low, while the last image is when both pitch and amplitude are high. The second is a still from when the pitch is high but the amplitude is low. This creates a gradient within the sketch.

It was interesting explore computer generated systems. While I did have trouble settling on a method and aesthetic that I liked, I am interested in continuing to learn Supercollider and its potential with Processing.