StrayCurrent
← All posts

Ableton's Extensions API and Harmonybeam

Ableton's new Extensions SDK arrives right as Harmonybeam launches. Funny timing!


Ableton released its new Extensions SDK this week, just as we are getting ready to launch Harmonybeam. Funny timing, because the new API seems aimed at a lot of the same pain points we have been working around in Max for Live, especially when it comes to reading and rewriting clips.

Harmonybeam was conceived as a Max for Live device. Max of course offers the basic integrations for Live: MIDI input, device state, and so on. For a chord tool, that used to be the only place to really work with MIDI and clips even though we don’t need all the synthesis capabilities that Max offers.

But the Extensions SDK opens a different door to working with MIDI.

Ableton describes Extensions as optional tools that run alongside Live and can be triggered from the right-click menu inside a Set. They can read and edit tracks, clips, parameters, automation, MIDI notes, devices, tempo and more. The examples Ableton shipped are playful tools that show off these capabilities: a breakbeat slicer, an image-to-MIDI tool, notation display, Paulstretch, a clip renamer, even little games that write notes back into Live. Basically, a sanctioned way to build workflow tools that operate on the Set or its contents.

Max for Live is brilliant when you want to build an instrument or effect, some living patch that sits in the signal flow. It is less comfortable when the task is more editorial: inspect this clip, understand its notes, rewrite the contents, batch rename things, move material around, or run a one-shot transformation on a selected item. You can do some of that today, but it often involves a pretty awkward and sometimes very limited clip API, timing issues, and a few footguns that make a simple idea take three times longer than it should. With the Extensions API, this all seemingly becomes a lot easier.

For Harmonybeam, the obvious question is now of course whether it would be better off as an Extension. The current plugin is built as a device that, like traditional chord plugins, lives permanently on a track. Then you can type a progression, choose a voicing, write usable MIDI into the synced clip. This could theoretically also be relegated into a modal window that only opens when you right-click on a clip to insert notes in it (which is the only point of entry that the Extensions API seemingly offers right now), but you would lose sight of the chord blocks until you open that window again.

Still, there are parts of Harmonybeam that could make sense as an Extension, or at least as an alternative mode later. Imagine right-clicking a MIDI clip and asking Harmonybeam to reharmonize it, tighten the voice leading, label the chords, generate a variation, or other one-shot operations. And it would also be easier to manage multiple different progressions cleanly, with each one separated into its own clip.

The SDK is also JavaScript and TypeScript based, running on Node. That is interesting for us because the frontend of Harmonybeam and the Max bridge are already JS, and the visual patcher environment of Max is not really needed, and sometimes even annoying, when developing the plugin. Max can host serious logic, of course, but nobody who has debugged a real product inside a visual patcher will pretend it is the same as working in a normal codebase.

Of course, the main issue with Extensions is that they are currently public beta, require Live 12 Suite 12.4.5 or later, and appear to run as manual context-menu actions rather than always-on devices. Ableton also positions them separately from Max for Live: Max remains the deep creative patching environment for instruments, effects and signal chains, while Extensions are tools that interact with Set data and workflow. That separation sounds sensible. It also means Extensions are not a drop-in replacement for Harmonybeam as it exists now.

So for now, nothing changes. Harmonybeam is launching as a Max for Live plugin because that lets us ensure compatibility with Live versions as old as Live 10. But the new API is worth watching closely. If it gives us cleaner and broader access to clip manipulation, it could become a very natural companion layer: Max for the immediate musical interface, Extensions for fast clip operations.

Find out more about how Harmonybeam helps you write better chord progressions in Ableton Live.

Explore Harmonybeam