Ableton Extensions SDK
Posted by bennett_dev 6 days ago
Comments
Comment by jrickert 6 days ago
My initial take on its strengths/weaknesses:
- Strong: Using the TS/JS ecosystem to render UI and tools
- Medium: Creating custom application windows in a web view. Window management features are pretty limited currently (can’t resize or render a native “close” button on the window chrome)
- Strong: Creating custom control panels for integrating with external services (like pushing and pulling audio clips or midi to/from an external service)
- Weak: Anything real-time, that’s still the domain of Max4Live or other control APIs, so don’t expect playback automation
- Medium: Tinkering with the Ableton project, clips, tracks, etc. API surface is still incomplete. Like I can read warp markers but not create them, for example. And I can’t access the global time signature settings.
The extensions are pretty aggressively sandboxed, and I appreciate that security consciousness in this season of the js ecosystem. It’s a hassle though if you want to save or load files outside of your little sandbox folder.
Comment by embedding-shape 6 days ago
Gotta say, slightly sad about the global time signature not being available to get/set, when I read about the new SDK yesterday my mind immediately jumped to bunch of use cases which all use the global time signature :P Oh well, I'm sure it'll be available in the future.
Comment by brookst 5 days ago
Which is a bummer, because LOM is fantastic for what it does, but has many many many frustrating gaps. Like, it cannot add devices to the master/main track. It can’t read MIDI pitch bend events, etc.
Comment by iainctduncan 6 days ago
The live object model is MUCH nicer to use in a lisp, as basically you do everything by making dynamic lists to represent what you want to access! There are examples in the Scheme for Max help file.
(Also, Scheme for Max can run in the scheduler thread, unlike JS in Max. Though of course calls to the Live API are deferred to the lower priority thread anyway)
Comment by lukaszkorecki 6 days ago
Comment by windowliker 5 days ago
Have a dig around here: https://docs.cycling74.com/apiref/js/
Comment by iainctduncan 5 days ago
One of the main reasons I wrote Scheme for Max (S4M) was to enable tightly timed scripting. You can pick which thread an S4M instance runs in, and each instance is totally isolated, which is very different model from the Max js objects (including the new V8) one. Those are global and only in the UI thread. S4M works very well for this, I use it in Max for Live and can get it synchronized perfectly underload with other sequencers.
I started scripting max with JS and built Scheme for Max after banging into its limitations. My typical workflow is a mix of Max, Csound in Max, Gen and Scheme, with the fast majority of the work happening in Scheme.
Comment by windowliker 5 days ago
IMO there are far better options for realtime code-generated music. Max does what it does well, and shoehorning in interrupt level scheduling for scripting on top is out of scope for its remit.
Comment by iainctduncan 5 days ago
I'm currently a PhD candidate in it, have previously used Csound, SuperCollider, Max, Pd, Common Music, and others, and have published/presented at conference on this topic. Of everything I've tried, I prefer working in Scheme in Max over other options. It is definitely practical and accurate. (Though in Scheme in Pd has soe nice features too!)
Comment by windowliker 5 days ago
Comment by iainctduncan 5 days ago
If you want to schedule tasks in Max accurately with code, you can either use Max, C extensions, or my extension.
yes, you can do patcher scripting from S4M as well as you can easily send messages to named objects, which is all you need in order to be able to do that. That is how max patching works - whether you do it in the GUI, JS, or messages to the patcher, the whole thing is just objects sending messages to other objects, and the patch is just a connected graph of references of instantiated objects. If you send message to a thispatcher object, you achieve the same thing under the hood as manipulating the GUI or going through JS. You can read about it if interested in the Max SDK documentation and in the Cipriani & Giri books on thispatching.
Comment by bbgm 6 days ago
This is just what I've been looking for. I never warmed to Max for Live for mods. But the extensions SDK I can get behind.
Comment by SoleilAbsolu 6 days ago
One of the features that got me hooked on Ableton Live was how easy it was to do "analog style" audio recording of whatever you're hearing in realtime...not bounce, render, or sample to another device (it can do all of these too). For the master bus - just create an audio track, arm for recording and set input to "Resampling". Can do the same with any number of tracks/groups. This is critical to me for capturing ideas in realtime and continually reprocessing/resampling as I go.
I was astonished when I first started making digital music 20 years ago that this isn't a standard feature in every DAW. Some DAWs (REAPER, Bitwig, AudioMulch) do this as easily, others (Logic, Reason) have workarounds.
Comment by moralestapia 6 days ago
Comment by PaulDavisThe1st 6 days ago
Comment by moralestapia 5 days ago
I was a heavy and loyal Cubase user then switched to Ardour when it came out because of OSS.
Also Reason, you guys remember Reason? It had such a warm, characteristic sound out of the box. You could easily hear it in many songs of the time; same with Fruity Loops but for all the wrong reasons, lol.
I don't do a lot of music at the moment, but it's nice to read you here ^^.
Comment by coldtea 4 days ago
Remember? It never went away. In fact, it was recently bought by LANDR, and just brought out version 14.
Comment by briandear 5 days ago
Comment by henry28256 6 days ago
Comment by tnolet 5 days ago
Comment by cdavid 5 days ago
For example, ableton was famousley co-created by the members of the monolake, a pioneer of minimalist techno in the 90ies. Some history there: https://www.roberthenke.com/interviews/ableton.html
Comment by coldtea 4 days ago
But Cubase, Logic, etc weren't focused on electronic music in particular. They catered to general studio production.
Comment by cdavid 4 days ago
Cubase, etc. have no such link that I know how, but there was still the strong hacker culture around atari and to a lesser degree amiga (vs PC), when PC was just not usable for anything low latency in mid 90ies.
Comment by SuddsMcDuff 5 days ago
Comment by Kye 5 days ago
Comment by _DeadFred_ 5 days ago
-Emu
-Plugin Alliance
-UAD
-Autotune
-Burl
Comment by arikrahman 6 days ago
Comment by embedding-shape 6 days ago
Ableton is another beast altogether, and I've also been trying to get it running for years at this point, no end in sight. Last time I tried, after being recommended https://github.com/BEEFY-JOE/AbletonLiveOnLinux (now sadly archived), I managed to get the actual UI to render and be interactive, but still couldn't get proper audio to work with my interface, only software rendered audio, so the quest continues...
Comment by arikrahman 5 days ago
Comment by PaulDavisThe1st 4 days ago
Comment by arikrahman 4 days ago
Comment by ano-ther 5 days ago
> The challenges were many: we had to create an operating system, we needed to deal with porting Live to Linux, we needed to deal with all the gory details of WiFi and authorization.
Comment by embedding-shape 5 days ago
Comment by PaulDavisThe1st 4 days ago
Comment by brucie 5 days ago
Comment by arikrahman 5 days ago
Comment by abstractbill 6 days ago
Comment by embedding-shape 6 days ago
Besides that, Ableton themselves list a bunch of tools I assume works on some level, as they're listed in the help pages of Ableton: https://help.ableton.com/hc/en-us/articles/360012680119-Best...
Comment by tomduncalf 6 days ago
Comment by DesaiAshu 6 days ago
Comment by brookst 5 days ago
Comment by PaulDavisThe1st 4 days ago
Comment by brookst 3 days ago
But the MCP server isn’t the interesting part. It’s the round trip of composition and mixing. “Set up a calypso beat and baseline; add distortion to the bass; set up filters to protect the kick from the bass”
Comment by PaulDavisThe1st 3 days ago
That's a very personal thing. A lot of musicians are extremely, extremely resistant to using LLMs to assist with composition. Obviously, too, some are not.
Comment by brookst 3 days ago
Note that "assist with composition" covers a lot of ground. There's Suno, and there's "let's experiment with chords changes to get from F Phrygian to C major"
Comment by hammyhavoc 4 days ago
Comment by ddosmax556 6 days ago
Comment by coldtea 6 days ago
Comment by hammyhavoc 4 days ago
With tight deadlines, there frequently isn't the time to not be working concurrently on the same doc, especially when it comes to anything technical.
Comment by peteforde 6 days ago
Far too much of Ableton's secret sauce is hidden away behind Max for Live and top-tier pricing only features. This is a great step in the right direction.
Comment by jiriknesl 5 days ago
There are massive communities around tools far more simple than Ableton was even a decade ago, like SP404, Akai MPCs, Elektron Digitakt.
Many musicians treat any item as an instrument, not as a plaform. There are probably dozens of videos on youtube, where musicians explain, why they use more limited tools instead of Ableton.
To make a successful music tool (that includes DAW), you have to own a powerful workflow, that some group of musicians love or need. Extensibility is fine, but not the only way to succeed.
There are now people making music on pocket trackers that have ± same amount of features as modplug Tracker I used in the end of 90s.
The thing is, when you make a music with a guitar, you don't want your guitar to be 'built around composable scripted modules'. You want to play an instrument, and the UX should enable it, and generally get out of the way.
Comment by peteforde 5 days ago
I am not proposing that someone needs to disrupt or make Ableton obsolete.
I am suggesting that the existence of Reaper strongly implies that there's an under-served demographic of people who (correctly) understand that the DAW can be more than a way to translate audio data from buffers to hard drive and VST host.
In the same way that there is currently a lot of innovation in mixers that don't just sum channels, it's not at all unreasonable to imagine that the DAW itself could be an instrument or at least provide composable functions that make other instruments more interesting.
https://www.youtube.com/watch?v=EclavOHIo4o
One of the best things about the golden age of music tools that we're experiencing is that guitars and guitarists have been decentered from the conversation. We don't call them guitar pedals anymore; they are effects pedals now. We're moving past the GROG TURN OVERDRIVE ON OR OFF phase into a much cooler place where pedals are usually MIDI controlled and often have CV inputs as well. Arguably the most lauded pedal of 2025 was the Polyend Mess, which literally allows sequencing of effects. It's awesome!
The cool thing about a truly composable modular DAW is that it doesn't have to get more complex. Being able to strip things down is also totally valid. Perhaps then folks wouldn't be making such a big deal about Tape:
Comment by jmole 6 days ago
Ableton and Max are totally separate codebases, and "Max for Live" is just a ~VST interface between them.
I do agree that "scriptable Ableton" would be far better for production and sound design than Max, because they make all the hard parts easy: MIDI, sequencing, mixing, etc.
In Max, you have to build everything from scratch, every time.
Comment by windowliker 5 days ago
This is not strictly true, and Max for Live (M4L) is much more than a pseudo-VST. In the context of Live, the Max runtime is controlled by the DAW, which itself then exposes part of its interface to Max. So there's realtime bi-directional communication going on, more akin to how Propellerhead Software's (now deprecated) ReWire protocol used to work, the host passing control information (transport position, note data, etc.) and audio buffers into the client software and vice-versa. There is some superficial similarity with VST in this sense, but with M4L it's much more deeply integrated into the DAW as a whole. The Live Object Model[1], while not complete, is extensive, and there is very little that is off-limits to a M4L device to manipulate, with the caveat that care must be taken to avoid overflow of the control stream coming back from Max into Live (certain operations must be placed in the low-priority scheduler thread).
This new API gives much of the same control that M4L already did, but without having to have Max involved.
>In Max, you have to build everything from scratch, every time.
Again, not strictly true. Editing a M4L device opens the full Max environment, which has a snippets[2] feature much like any other good IDE. You can easily build a large library of boilerplate code for your own specific purposes with it. There are also many basic examples included out of the box.
Comment by peteforde 6 days ago
I don't own Max for Live. If I want to use it, I either need to upgrade to Ableton Suite for $500 or I need to upgrade to Standard and buy Max for Live separately (also $500).
There's a huge ecosystem of tools that are implemented as Max for Live packages which I cannot access because I haven't paid the toll.
I see that even this new Extensions SDK is only available to people who have paid for the full Suite edition.
I'd describe that as a market opportunity.
Comment by SoleilAbsolu 6 days ago
Comment by easyThrowaway 5 days ago
Comment by peteforde 6 days ago
Comment by 0x1ceb00da 6 days ago
Comment by ano-ther 5 days ago
Comment by coldtea 6 days ago
The other way around. Ableton exposes some internal modules to Max for Live as Max for Live modules.
What Ableton gets from Max for Live is not internals, but basically a few Ableton-only Max-built plugins, that could as well use VST underneath.
Comment by peteforde 6 days ago
It's not about special powers, just being forced to pay the gatekeeper to the otherwise free/OSS ecosystem.
Comment by coldtea 4 days ago
Well, it's not that difficult to purchase as an update to Suite or by itself, on a typical western salary.
The ecosystem has tons of free/open source devices. Is it that bad that Ableton doesn't make Max (which they had to buy the whole company for) free too?
I prefer they have actual product revenue like that, and don't go the VC route, gifting stuff to get market share, and then coasting and rent-seeking like NI and others.
Comment by Slow_Hand 6 days ago
This sounds a little like you're complaining that you cannot watch all of the free Youtube content because you don't want to pay for the device that will display it.
Comment by peteforde 6 days ago
What it is, though, is a misguided attempt to move the goal posts on what I actually said, which is that a huge amount of the value of Ableton is gatekept behind paid addons.
If a DAW was structured like Blender or KiCAD and designed from the ground up to be extensible (or minimal!) then you wouldn't have any impetus to try to shame people who haven't paid a gate toll to execute software people have contributed to the public domain.
Comment by Slow_Hand 5 days ago
I'm annoyed because you keep referring to the cost of a license as "gate-keeping" or somehow "hiding away" your ability to use the software. Pay the cost for a license or don't. It's a reasonable price for the tools.
> I don't own Max for Live, so the large ecosystem of useful tools that I'd enjoy trying out is unavailable to me. t's not about special powers, just being forced to pay the gatekeeper to the otherwise free/OSS ecosystem.
You seem mistaken about Max/MSP being free or open source, which it has never been. Certainly not in the last eighteen years since I've been using it.
You seem to be saying that it would be a whole lot nicer if Ableton were an open source tool that we didn't have to pay for and could develop ourselves. Maybe that WOULD be an improvement in some ways. It would at least be free. A lot of things might be better. Some things not so much.
But it's not. Live is a paid product. And so is Max/MSP. And I'm very happy to continue paying these developers to keep doing a great job because they make tools that are tremendously helpful to me and they don't abuse that relationship with things like monthly subscriptions or unreasonable restrictions. In many ways Ableton is a model company that is self-governed and largely free of outside influence like private equity. I want them to succeed and I want more companies like them to thrive.
-----
There is a free and open-sourced alternative to Max/MSP: Pure Data. If you think open-sourcing this type of software is such a great idea, then you should develop in Pure Data instead of Max/MSP. There are probably open-sourced DAW projects out there too that you can integrate into as well.
Maybe then you'll realize that Live and Max/MSP's asking price is not so high after all.
Comment by peteforde 5 days ago
PlugData in particular has been a real joy to play around with.
I'm glad that your tools are working out well for you. I do reject the idea that I should STFU about being annoyed that I can't run Max for Live scripts, though. Native Instruments Kontakt isn't my favourite piece of software (or company) but at least they understood from early on that making the player free drastically increases the value of a paid license for the people who make content on that platform.
It's 2026. I'd hoped that we were well past needing to debate whether OSS is good or not. Apparently we're not!
Comment by honkycat 6 days ago
Comment by peteforde 6 days ago
Comment by PaulDavisThe1st 4 days ago
Comment by dumbdumb125 6 days ago
i've been making my own vst instruments and effects with faust, and codex knocks it out of the park; it's basically a trivial task
the only problem is that i have to use software that's external to DAWs. it's only a matter of time before this is first class in DAWs
Comment by brookst 5 days ago
Comment by macscam 6 days ago
Comment by iainctduncan 6 days ago
Nice to see they have put out options they will officially support though. I do admire that instead of saying "no you can't" they just said "we know those open python example scripts our there and we won't comment on them". :-)
Comment by krrishd 6 days ago
Comment by maxaw 6 days ago
Comment by nedt 5 days ago
Biggest issue with having something so easy to work with is the huge amount of extensions we will be getting, which makes it harder to find the jewels.
Also wondering if we will get extensions for Abelton Move as well. There are already a couple of hacks that are adding functions that are running as a sidecar. This could give them an official API.
Comment by coldtea 4 days ago
Well, they have it buried because it's not "the interface for AI", it's a programming interface, that could have existed 5 and 10 years ago, pre-AI. And in other DAWs, it did.
It just happens that a programmatic interface is also very usable as an AI target. But that's orthogonal.
Comment by nedt 4 days ago
Comment by _def 5 days ago
Comment by _def 5 days ago
Also: yes, this SDK is a great interface for AI. It was trivial for Claude to quickly write a MCP extension. There is a lot of room to open up the API more and to save on tokens, but I already had fun sketching out new songs or open older projects with clips in session view and just tell Claude "create an arrangement out of them".
Comment by nedt 4 days ago
Comment by Lucasoato 6 days ago
Try slowing the PSX opening sound by 5x to 10x, you won't regret it.
Comment by barcoder 5 days ago
Time to see what's possible with the new SDK.
Comment by moralestapia 6 days ago
I applied for a job with them and proposed this exact thing about 8 years ago (got auto-rejected, I would've been very happy to work on it).
But I'm glad to see they finally did it.
Comment by AaronAPU 6 days ago
They already had Python. Mentioning an architecturally obvious idea in a job application is likely to read as insulting, because it presumes their engineers weren’t already aware of that possibility.
Comment by embedding-shape 5 days ago
That's a bit much no, why would it be insulting? "Great minds think alike" would be my reaction, instead of "Ew, duh, of course we thought of that, you think we stupid?".
Comment by moralestapia 6 days ago
Then I can make a meaningful comparison.
Comment by Kye 6 days ago
Comment by nopayne 6 days ago
Comment by moralestapia 6 days ago
Comment by wahnfrieden 6 days ago
Comment by coldtea 6 days ago
Ableton Extentions if a first class api to Live, kind of like AppleScript.
Comment by honkycat 6 days ago
It would be TRIVIAL in any other language, but noooo, I have to write a fucking max patch and deal with their trash visual syntax and runtime.
Comment by tomduncalf 6 days ago
I get the frustration coming to Max as a regular developer, but actually when I bothered to learn it was one of the most rewarding uses of time and I find it really quite fun to work in (and frustrating sometimes of course! But the JS support helps). You just need to forget everything you know about programming lol
Comment by windowliker 5 days ago
You can see this 'bare-bones' style of Max with Miller Puckette's continuation of his original work in Pure Data[1] (aka Pd). The nice thing about Pd is that it's open source, so all the scheduling and signal flow logic can be examined and understood. As I understand it, the basics of Pd are comparable to how Max still works under the hood, though no doubt there has been some deviation over the years.
As it is now, Max offers a very smooth interface to the basic paradigm that was established 40 years ago, with many modern advances, but the fundamental idea hasn't changed all that much since it first came out.
If you really hate having to work through a GUI for computer music there's always SuperCollider[2] and its many derivatives (Sonic Pi, TidalCycles, etc.). It's nice to have options!
Comment by processing 6 days ago
Comment by analogpixel 6 days ago