VisualInstrumentHero.png

Coding & Experimental Media: Visual Instrument

Visual Instrument

Coding for visual and musical artists

Hero2.jpg

For a coding exercise, I sought to inject an additional layer of artistry and control in to music visualization. The Visual Instrument gives digital artists the power to live-paint visual landscapes with brushes which react to music. I took the traditional concept of the music synthesizer and combined it with a generative painting program. The program features three unique brushes, and two separate canvas clearing functions that react to the algorithms the brushes use in different ways. All code written with Processing.

 
 

Demonstration

Password (Case Sensitive): Visual Instrument

Password (Case Sensitive): Visual Instrument

The program relies on three brushes. Brushes are swapped using the number keys 1, 2, and 3 on the keyboard.

  1. This brush generates a colorful web while remembering the paths it takes. The web is created by plotting lines between points on this path. Pen pressure affects the distance the webs can reach, and tilt affects the starting hue. The hue shifts based on the music, and brightens on strong beats.

  2. Functions similarly to brush number one, but does not remember paths, and therefor can only interact with paths drawn by brush number 1. Its colors are inverted from brush 1, and shift less erratically with music.

  3. Creates complex, fading baubles and lines that can be used to accentuate quiet points within the song or create intense spinning visuals in the center.

Additionally, two distinct functions exist for clearing the canvas, activated with z or c. The z command completely clears the program, while the c command leaves the memory of any paths created using brush 1 in tact. This allows the artist to trace paths with brush 1, and fill them in later with brush 2.

Brush Concepts.jpg

Brush Concepts

Once I confirmed that the use and control of multiple brushes was indeed possible within Processing, I drafted ideas based off of what I knew could be accomplished from other code I had seen. I wanted to create a wide variety of textures for the artist to use to recreate the feel of a wide variety of songs and sounds.

Visualizer.jpg

Concept Visualization

I created multiple sketches of potential variations on the concept. In this sketch, there is a GUI featured which allows users to switch brush symmetry on and off and select brushes on screen. A synthesizer runs in the background, which operates on the same unified color palette as the chosen brush. Other variations included user-controlled background images and videos, and different takes on symmetry control.