genetic algorithms and artificial life
After finishing a few leftover cellular automata exercises (see
last week for them), we delved
into the world of virtual organisms and 'fake' genetics.
Oh the joy of being a musician!
Links
I'm not putting up a lot of links here to genetic algorithm or artificial-life
pages; just google them (or "Holland genetic algorithm" if you want to
see John Holland's original work, for example) and you'll find many,
many pages of interesting stuff. There is one link, though, that's
good to read if you're interested in learning more about this
area:
- Artificial Life: A Report from the Frontier Where Computers Meet Biology
-- this is the early (1993) book by Steven Levy profiling the emerging
a-life and genetic-algo research community. Levy's a good writer.
Here are some other links to things we did discuss directly in class, though:
- Generative Model for the Creation of Musical Emotion, Meaning, and Form
-- an article by
David Birchfield
about his GA doctoral thesis.
- discussion of David's work
-- this is in Paula Matthusen's doctoral dissertation,
Decentralized Performance: An Exploration of Agent Behaviors in
Metacreative Musical Systems. Unfortunately I can't provide
a direct link to David's dissertation.
- Construct-Based Genetic Algorithms as a Means of Analytic Synthesis: An Application to Music
-- Michael Prerau's
fun project used to generate lots of musical melodies.
And here are some older class links. These do have links to additional GA/a-life
pages, but many of them are now defunct.
- semi-older class link
-- some interesting class patches here (building a "bug swamp", style-evolve
stuff [I forgot some of this was on-line already]).
- older class link
-- there are a bunch of older class links on this older class page
- another older class
-- probably with many redundant links with the above classes
- 'performance' older class link
-- this link has patches to an interactive application we did (Terry
Pender played the mandolin!) that employed a GA for real-time melodic
generation.
- very older class link
-- I suspect this one is linked by one or more of the above pages.
Most of the links on this page are dead. The "sine wave" X-window evolver
code is here (and down below) as well as a strange GA demo we did based
on Paul Lanksy's music. I'm not sure how it works now.
Class Downloads
- week8-patches.zip
-- the patches we did in class, the 'scalevolve' exercise that
converged onto a major scale and the 'timbrevolve' patches
that produced a harmonic waveform.
- genetic sine-wave evolver
-- this is the code showing the 'sine wave' GA demo. The 'genetic.c'
file has the code for the basic GA, and 'geneticM.c'
file contains the basic GA + the mutation
simulation that greatly enhanced the evolution. nomutate.wav
and mutate.wav are the resulting soundfiles made by writing
out each cycle of the evoling waveform as it was computed.
[note: you will need to download and install the
X Windows System
(XQuartz) to run this on your Mac. I believe that you can also
do this on a Windows machine with an appropriate X Windows install,
too.]
- bioproj3.app
-- the app I am developing with
Dave Sulzer
(a.k.a. Dave Soldier)
using contemporary genetic principles to evolve music. This runs
on OSX; I can get you the code to run on an iOS or Android tablet
if you'd like.
- sflute-style-evolve
-- the aborted 'cultural evolution model' I did to make the world
happy with new music again. This is just the bare-bones LISP
along with a few generated RTcmix scripts.
- iglesia net
-- Dan Iglesia's improved neural-net model; does basic "low/high"
discrimination using an 8-valued input.