Abstract

The potential of a computer to compose original music using a quasi-autonomous method is explored. Using a genetic-programming technique, an artificial life environment controls an additive-synthesis audio engine. Emphasis is placed on the musical quality of results rather than on a particular research goal. The problem of human versus evolutionary time is discussed, as is the degree of control a composer may exercise over a nominally autonomous process.

We know from experience that computers need careful guidance to create even the simplest musical sounds; but the potential of computers has inspired many composers to use them as tools or even as active partners. Computers excel at repetition and numeric calculation - which is not surprising, as computer programs consist fundamentally of variable assignments and loops. It is not a simple matter to construct music from these building blocks. The formal constructs of programming languages do not translate naturally into musical syntax, and obtaining aural complexity from a computer is always a challenge.

Yet composers persist with this compelling notion: we know computers can work tirelessly on intricate problems, so we can imagine them creating a new kind of music - perhaps one not fully ruled by human logic. We may not understand the results; nonetheless we are curious.

The paper is in four parts, which are progressively less technical. Part 1 explains why artificial evolution should be a useful technique for automatic music composition. It explains why frames of digital audio are generated rather than musical notes or phrases; an overview of genetic programming is followed by test examples. Part 2 applies the technique to create musical sounds. Part 3 introduces methods a composer might follow to obtain musical variety. Part 4 describes two musical compositions created by the author, Suite for Proteins and Passacaglia Polymer C3. An Appendix describes the C++ implementation. Audio and code examples are included on two CDs.