Making generative sound and music with Ableton Live

I did a talk the other day at work on generative sound and music in Ableton Live. I didn't make any slides but some people asked if I had any so I thought it might be nice to instead make a quick blog post out of the topics I presented.

Patchwork, by Laurie Spiegel
The Wild Bull (Part 1), by Morton Subotnick

This is the kind of music I want to make. I have no idea how the above examples were produced, but I suspect each note and sound was not played or even programmed, considering the complexity of each piece. I also don't know how you come up with such complex sounds or patterns other than by discovering them by experimentation. So how can I use Live as a tool to generate sonic patterns and control sound in a way that better lets me explore it, rather than express an existing idea?

Sequencing and generating MIDI

Here's a simple sequencer implementation using Live's built-in MIDI effects:

A sequencer using Live's built-in MIDI effects

Here's how it works:

  1. Arpeggiator: used at trigger source; Rate controls rate of the sequence; Gate controls length of triggers
  2. Random: Mode determines whether or not the sequence will be played in order or randomly; Choices determines the length of the sequence; Chance determines likelihood of the next step being triggered or not
  3. Scale: notes will be quantized to the notes in the 2x2 grid

Sequencing values

Notes and velocity are the only available control inputs when using only Live, i. e. no external controllers or applications. You can route MIDI to different instruments or effects using the velocity and note filters of MIDI effect rack chains. Incoming velocity can be random or played, determining which chain will process MIDI.

Processing MIDI notes differently depending on their respective velocity

Audio feedback as a source of sound

Return channels can be fed back into themselves to provide sources of feedback—careful when doing this, you may hurt your ears or damage your speakers if you're not careful. I like sticking a Glue compressor at the end of each feedback channel to keep things under control. Feedback works best with effects that change over time, for example a frequency shifter followed by a simple delay effect:

Delay effect with dynamic pitch