"Determinism", some algorithmic music

For this assignment, I brought together a variety of techniques to create some algorithmic music.

Music created from markov chains and FM synthesis.

Focus

I was primarily focused on two aspects of the piece:

  • The synchronization of decoupled rhythmic components
  • The generation of melody via a 2nd order Markov chain

Additionally, I implemented some high-level parameterization via some abstract classes I wrote last quarter for the KnacK framework1.

Implementation

The lead instrument, as well as the pitched kick-like sound, are both synthesized using a technique I read about in John Chowning’s FM synthesis paper2. This technique involved creating two different envelope shapes for the carrier and modulator waves, and relating the modulation index to the carrier’s frequency linearly.

The non-pitched percussion is composed of sounds that I have recorded at one time or another.

The ambient tones in the beginning and end of the piece are generated using Chuck’s BandedWG instrument.

For more detailed implementation information, see source files and comments. Main.ck is where the Score is defined.

Source and materials

ccrma.stanford.edu/~colinsul/220b/hw3