Ableton Live + Algorithmic Composition (sort of)

So I finally acquired a legal, full copy of Ableton Live, as payment for designing a logo for a client. Yay!

As anybody who reads this blog knows, I’m a big fan of algorithmic/rule-based/non-interactive composition. As much as I love writing songs, I also love simply setting up the computer to generate music on its own, leaving me to tweak the timbre and tones of the piece rather than the notes.

This is astonishingly easy in Ableton Live. The basic rundown is like so:

  1. Create a MIDI track. Add an empty MIDI clip to it.
  2. Inside the MIDI clip, create a series of 16th notes. Doesn’t matter what they are — just add C3 notes.
  3. On the MIDI track, add the Random and Scale MIDI plugins.
  4. Set the Random plugin to Chance -> 100%, Choices -> 24. This will cause Ableton to randomize every note, within a 2 octave range.
  5. Set the Scale plugin to whatever scale you’d like — I’m using Em in this example. This forces the randomized notes into an Em scale.
  6. Route your MIDI track’s output to a synth or to an app like Reason using ReWire.
  7. Hit play.

What you’ll get is an endless bunch of notes in Em. How this actually turns out depends upon your ability to create interesting synth tones, your use of effects, etc. Obviously you’ll want to do this on multiple tracks with different instruments.

Cool Black Marble” (MP3, 192kbps, 3:19) is a track I did last night and this morning using this technique. It reminds me sonically of Avalon-era Roxy Music, or maybe just the background textures. While this piece isn’t ever going to win awards for variation or compositional complexity, it’s a perfectly lovely little bit of ambient music in the most literal sense — it’s an ambient soundtrack to a space. (When I hear it, I think of, well, a cool black marble room, hence the name.) Think of it as simple, pretty sonic wallpaper.

Of course, you can do much more complicated stuff than this using these basic tools — you can automate the Key value in the Scale plugin, for example, to create chordal changes and more complex melodies. You can also automate Live’s clip triggering function to randomly choose beats or melodic instruments or pads. I’m going to be experimenting with this kind of thing a lot, and I’ll post my results.

Let me know what you think of the track in the comments!

Join the Conversation


  1. Thanks for posting this. I’ll be messing around with this as well. BTW, here’s my recipe for an infinite breakcore beat machine:

    1. Add a break beat to an audio track – there’s lots available here:

    2. Apply Bertill or some other super glitchy filter

    3. Apply a beat slicer – I like LiveCut but there are others

    4. Loop that shit

Leave a comment