How Generative Music Works

A Perspective

Use space bar to advance @teropa

This presentation is about making music
by designing systems that make music.


  1. A set of things working together as parts of a mechanism or an interconnecting network; a complex whole.
  2. A set of principles or procedures according to which something is done; an organized scheme or method.
Oxford English Dictionary

For his 1965 composition “It's Gonna Rain”, Steve Reich designed a generative mechanical system.

Steve Reich: It's Gonna Rain (1965)

Once Reich had discovered this generative process in tape, he applied it to other media.

Reich's phasing process in other media

Brian Eno was inspired by “It's Gonna Rain”, and used the same phasing process on “Music for Airports” in 1978.

Brian Eno: Music for Airports (1978)

Terry Riley’s “In C” from 1964 is a composition expressed as a set of principles and procedures.

Terry Riley: In C (1964)

With this simple blueprint you get a system that generates a new version every time it's played.
No two performances will ever be the same.

A new realization of the score generated every time

Generative Method

“It's Gonna Rain” and "Music for Airports" were made using generative methods.

But the results don't retain that generative nature. Every time you listen to these pieces, you hear the same thing.

Generative Product

“In C“, by contrast, is a generative product. It was not just generated once by the composer, but is generated anew every time.

For “In C” the system itself is shared, not just its outputs. Anyone can use the score to generate a new version. That happens somewhere in the world almost every day.

Eno's latest album, Reflection, is both:
A generative product made using generative methods.

Brian Eno: Reflection (2017)
Both generative method and product

“Reflection” is a generative software system. That makes it easy to deliver to listeners.
Much easier than reel-to-reel tape recorders.

This presentation is another example of that convenience: Several generative software systems are embedded right onto this webpage.

Software Systems

Apart from the ease of delivery, software systems have a few other benefits.

Other Benefits of Using Software

Here's an example of a generative tool that is all about randomness.

Generative Randomness


John Cage was a pioneer in the use of randomness in music composition.

John Cage's
Chance Procedures

Another thing software is good at is algorithms.


Generative grammars represent an algorithmic approach to music generation.

Generative Grammars

Let's define a generative grammar for additive rhythm.

An additive rhythm grammar

Once you have a grammar, you can generate rhythm patterns by expanding it.

Generating patterns from the grammar

Software also makes it easy to connect systems to the external world.

Connected Software


This system generates music from the Helsinki tram system.

Generating music from the Helsinki tram system

The trams are playing a pentatonic scale, mapped to central Helsinki.

A pentatonic scale mapped to central Helsinki

  • E4
  • D4
  • C4
  • A3
  • G3
  • E3
  • D3
  • C3
  • A2
  • G2

This was an example of data sonification:
Generative musical systems riding on events or data produced by other systems.

Data Sonification

Brian Foo: Music Eclipticalis. Based on “Atlas Eclipticalis” by John Cage.
Hatnote, Stephen LaPorte, and Mahmoud Hashemi: Listen to Wikipedia.

Speaking of connecting musical systems to other systems, how about the most interesting systems of them all: Human beings?

The most interesting systems in the world: Human beings

Eno's “Trope” is an example of a generative system that's also interactive.

Brian Eno & Peter Chilvers: Trope (2009)

Trope by Brian Eno and Peter Chilvers

These interactive generative systems can be designed to give the user varying degrees of freedom.

Degrees of freedom for the user vary

Another form of human-machine interaction is teaching machines how to do things.

Teaching a machine to do things

Markov chains are an old, but still effective, example of the machine learning approach.

Markov Chains

Markov chains are an ancestor of contemporary machine learning approaches to music generation, such as deep neural networks.

Contemporary machine learning: Deep neural networks


This is what the generative music landscape looks like to me.

The generative music landscape