An executable graph representation for evolutionary generative music

We focus on a representation for evolutionary music based on executable graphs in which nodes execute arithmetic functions. Input nodes supply time variables and abstract control variables, and multiple output nodes are mapped to MIDI data. The motivation is that multiple outputs from a single graph should tend to behave in related ways, a key characteristic of good music. While the graph itself determines the short-term behaviour of the music, the control variables can be used to specify large-scale musical structure. This separation of music into form and content enables novel compositional techniques well-suited to writing for games and film, as well as for standalone pieces. A mapping from integer-array genotypes to executable graph phenotypes means that evolution, both interactive and non-interactive, can be applied. Experiments with and without human listeners support several specific claims concerning the system's benefits.