Nick Gang: ngang@ccrma.stanford.edu

Installation Instructions (OSX only):

- Make you have Xcode installed and the openFramerworks downloaded.
- Drag an drop the "Snowcoder" folder in your openFrameworks folder in apps/myApps
- Open the file .xcodeproj file inside the "Snowcoder" folder
- Hit the run button

  The idea behind this project was to create a sequencer to make patterns of "vocoded" speech using spectral cross-synthesis. In addition, I sought out to create an interesting and satisfying way to both represent the spectrum of this complicated signal and to change many aspects of the sound and rhythm in real time. The sequencer is based around a matrix holding the different parameters of each step, and a series of arrays of audio samples that correspond to different combinations of the pitch and vowel parameters.

  In the center of the screen is a "snowflake" made up of a number of freqeuency domain spectrums. These represent both the sound currently playing and the number of active steps. The user can easily change the pitch and vowel sound of any step as well as muting and unmuting and adding and subtracting steps. The user can also rotate the snowflake within its bounding sphere in the center of the screen to get many views of this complex shape. This application can create some really crazy patterns from different combinations of button mashing!

  The process of designing this sequencer application involved a lot of adaptations and pivots in direction based on both my feeling and feedback from others. The original idea was to accept to live input streams into the app, which would be passed through some filter and audio FX using different addons for openFrameworks (see "idea 1" in the sketches) in the sketches below. While this is still the general signal path used by Snowcoder, all of the note triggering and determination of pitch and vowel sounds comes from inside the app. This ended up creating a better overall user experience, as no additional equipment is needed. Another change in direction during this project was the transition from a "lightning bolt" spectrum representation (see "idea 3") to the current snowflake design. After drawing a mirrored waveform inside the sphere, I was reminded of the changing patterns of snowflakes. The last feature to be implemented was "Deep Freeze Mode" which envelopes the screen in the geometric patterns of the intersecting spectra. This feature happened quite by accident. The original audio files used for this app were very quiet, and the scale factor for the size of the spectrums was set quite high. When the samples were finally normalized for the final product I was surprised and bemused to see the screen immersed in a deep freeze. While the scale factor was eventually fixed, Deep Freeze Mode remains just a spacebar press away.

  Check out the original design sketches below: