CELLULAR AUTOMATA MUSIC GENERATION
Rich French3/2/13
Advisor: Kristina Striegnitz
Game of Life A cell is “born” if it is surrounded by 2
neighbors A cell “survives” if it is surrounded by 2
or 3 neighbors Else, the cell dies or remains dead
How is a CA music?
Simply extend the lines to another space and you have a grid!
If a quarter note is played, “alive” and if there is no note played “dead”
Goal The goal of our project is to create a
musical representation for CAs that emphasizes the different features inherent in a musical piece
If the songs generated are interesting, then this might shed light on the possibilities of computers to do high level tasks like music composition.
Cellular Automata Life We need rules that are sparse yet complex Some rules include, Seeds (B2), AntiLife
(B0123478/S01234678), HighLife (B36/S23)
Excitable medium K states, if state is g, g either stays the same or Turns into g+1 state
Musical Features Melody Scales Note placement Song structure Rhythm
Previous Work Eduardo Miranda’s CAMUS system Cartesian Representation: x and y
designate half steps from a base note Problem: Note order arbitrary, not much
variety for note placement Serquera and Chareyron alter sounds at
the wave-level Problem: Too open ended, not all sound
waves necessarily translate to music
The Representation
Layered CA system like CAMUS system The entire CA representation represents a
song Melody is represented by a Life
Automaton
The Representation
Each vertical column is a note or rest Notes grouped horizontally can be grouped
together to form longer notes The smallest length a note can be is 1/16 Horizontal length of the automaton is 16*#
of measures
The Representation Excitable medium CAs represent the
other components of the piece Note Placement (Blank spaces are
arbitrary)
16 states, For each note of 2 or more cells, a change of state from left to right designates a note separation.
The Representation Excitable medium CAs represent the
other components of the piece Scale (if yellow = C Major):
# of states = # of scales, the most represented scale for each column will be the current scale played
Example SongHigh Life (B36/S23)
Tools Golly: Open source CA program, allows
PERL scripting Allows for layering, very robust support of
different CA rules MIDI Perl: Perl module for creating MIDI
files Simple interface, with all the MIDI
features needed.
Evaluation
Results From Experiment We just finished the experiment, and are
working to make it work on all platforms. However, just listening to one or a few of
the songs, it’s clear that something is amiss
Conclusions/Future Work Murphy’s Law: When you create a system
open enough to create a wide variety of songs, you create opportunity for a wide variety of failure.
Uncanny Valley: When songs have musical elements, but it doesn’t come together with the same results of a human composer.
Possible changes to the software: Make the system more rigid, make it so there are less opportunities to sound strange. Add instrumentation.