It's very rare, especially in 2025, that I would use a GUI and think "I wish I could do x" and then actually be able to make it happen.
It's very rare, especially in 2025, that I would use a GUI and think "I wish I could do x" and then actually be able to make it happen.
I find it really frustrating that the Ableton format is closed, so you can't write software to generate projects for Ableton Push.
Want I want is the fastest path to making beats using physical interaction with MIDI hardware based upon loops and one-shots I have, without endless coding or fiddling. Open to purchasing new hardware.
https://www.reaper.fm/sdk/reascript/reascripthelp.html
That said I find myself more often leaning just to standalone scripts for that kind of thing and using the jack server on Linux to put them in between my hardware and reaper. That way it's quite portable if I want to switch out reaper and do something directly with a standalone synth for example and have things still work a little bit.
I hear it a lot that people feel stuck on Mac or Windows for various software but for me the jack audio server keeps me tied to Linux!
What sort of scripting are you doing?
Do you mind sending me an email (in profile) if I have a few questions?
Why don't you ask here so we can all benefit (maybe) from the answers? :) Besides, might be more people who can answer too, and no added pressure on parent!
My goal is to autogenerate "projects" with loops and one hits, so I have like 100 candidate "songs" or "kits" to work with just using hardware and avoiding a DAW. And then to quickly jam on each song/kit to create an arrangement in hardware that I can save. Ending up with 20 scratch arrangements that I can load into a DAW and then produce / etc more carefully.
I want to load a "kit" into the MIDI controller and trigger sounds by hitting buttons. That part seems clear to me with JACK. That I can basically drop straight into hardware and start working with my audio material.
Now where I feel stuck is I'd like my knobs to do basic filtering, I'd like the loops to loop when I trigger them, and I'd like to be able to save my jammed arrangement to load into a DAW later.
Saving it seems like I could just save MIDI.
For filters, I am not sure which library I would use, and here is where it seems like I should be controlling a real DAW (so I get the same filter during my jam as in postproduction).
For triggering a loop that goes and loops, I have to write that by hand?
Apologies if what it sounds like what I want is: "I can use software to create 100 candidate Ableton projects with the clips pre-mapped and do a looped arrangement very quickly."
Honestly it's very scripty stuff that's mostly one-time use. Stuff like sending the notes I play to a different midi channel depending on their velocity, or sending specific notes to a particular synth while all the others go to another.
It's kind of like "what sort of shell scripting du you do?" you know? It's just whatever I need to do given the situation.
One particular bit of fun I had was "flipping the polarity" of my keyboard, so that the left hand was playing high notes and the right hand the low notes. I got my Joe Zawinul on Black Market vibe going!
I can email you in a while but feel free to ask anything here also.
Last time I checked, they're just plaintext XML, so while the format is proprietary, it's trivial to "reverse engineer", if you can even call it that.
> Want I want is the fastest path to making beats using physical interaction with MIDI hardware based upon loops and one-shots I have, without endless coding or fiddling. Open to purchasing new hardware.
If you're already using Ableton, this should be easy as long as your computer/audio interface has a midi out port, you basically just select what midi channel a Ableton midi track should use, and start sending stuff, no coding or fiddling required :)
I've found it painful enough to reverse engineer that it sucks the joy out of any Ableton programming.
I honestly believe this is one of the most end-user unfriendly decisions in the digital music world.
> If you're already using Ableton, this should be easy as long as your computer/audio interface has a midi out port, you basically just select what midi channel a Ableton midi track should use, and start sending stuff, no coding or fiddling required :)
That requires clicking around in Ableton though, right? My goal is to generate like 100 different projects and jam on the effortlessly.
It's supposed to be a DAW to sequence, record, and play live in.
Not a target for programmatically generating songs.
>That requires clicking around in Ableton though, right? My goal is to generate like 100 different projects and jam on the effortlessly.
Does your goal involve a DAW?
Eeeh, you're brushing past A LOT of decisions across the years, many much more unfriendly than "Lets dump undocumented but plain-text XML into a file and change the file-extension". At least some engineer as Ableton thought enough of us to let it be plain-text, that's pretty friendly compared to all the horribleness out there.
> That requires clicking around in Ableton though, right? My goal is to generate like 100 different projects and jam on the effortlessly.
Yeah, if you just wanna send midi out to one channel, I think you'd be able to do it with 2 or 3 clicks or something like that, unless you setup a template and you'll only have to do that once.
Do you really have that many unique midi setups you switch frequently between? I have one "template" per setup, that I made once, that is used for a starting point for every project, where each one has a slightly different midi/audio in/out setup. But when I wanna jam, I essentially open up the template, then save-as, and it's ready for midi in/out and audio in/out, maybe something like that could work for you?
Basically, instead of trying to aim to generate all combinations up-front, have one template as a starting point, go from there when needed.
I got frustrated the last time I tried, and currently LLMs tell me "Live updates break things constantly". Are my fears oversold? At the time I was doing it, I was trying to control all the parameters of Ableton native synths which was a headache.
Now what I want to do is mainly create different kits of loops + one hits using ML, at the bare minimum.
I have a background in audio ML so I imagine there would be other sorts of thing I might want to do later. But currently it's just one "template" with different filler sounds.
I'm not sure I'd call it "reverse engineer" even, you'd do something like:
$ mv DefaultLiveSet.als DefaultLiveSet.xml.gz
$ gunzip DefaultLiveSet.xml.gz
$ cat DefaultLiveSet.xml | head
<?xml version="1.0" encoding="UTF-8"?>
<Ableton MajorVersion="5" MinorVersion="10.0_370" Creator="Ableton Live 10.0d150" Revision="">
<LiveSet>
<NextPointeeId Value="17335" />
<OverwriteProtectionNumber Value="2560" />
<LomId Value="0" />
<LomIdView Value="0" />
<Tracks>
<MidiTrack Id="12">
<LomId Value="0" />
There isn't much more to it :) It wouldn't say it's the best structure/design, but it's all there in plain-text basically, so pretty easy to just read through it or search.> currently LLMs tell me "Live updates break things constantly". Are my fears oversold?
Just stick with the same Ableton version for the duration of your work on those tracks, it's basically what you wanna do regardless of how complicated your project/setup is, as things do change between versions. But FWIW, none of the projects I've manually edited have broken, at least when I last moved from 11 to 12.
> I was trying to control all the parameters of Ableton native synths which was a headache.
For that you'd go for MIDI, but if you truly need 100 project files to run one by one, then generating those XMLs with whatever, changing the file-name and opening up in Ableton with the midi afterwards feels like it shouldn't be too hard.
Lots of hardware has decent hardware integration with live - a push might be interesting…