I dream of a git-like workflow for Ableton, ideally with some sort of clever solve for the inevitable missing device issue (maybe freezing could solve this with some tweaks?).
I'm also curious to hear from others on how they solve this, especially when collaborating remotely.
that's exactly right, unfortunately. it's a bit of the wild-west the it comes to plugins/VSTs in terms of distribution.
and I agree, this feels like the sort of thing that should be pretty solvable, but I think there's a lot of hidden complexity in this problem space. Solving the "version control" aspect of this feels like it should be rather straightforward for a single user, involving multiple users with different Ableton Live versions, different plugins/VSTs (and different versions within those) is where things would undoubtedly get messy.
I do think there is a niche market for this sort of thing, however.
You will find applications like this one, https://www.pluginhubapp.com, show up frequently to try and manage this complexity. I am in no way at all recommending this application, but it is an example. This application does ship with all of its python code in the app under (possibly a mistake) so you can see the hoops they have to jump through to try and make their system work.
In terms of workflow I can imagine a "shared project" view in Live that loads the shared bare bones project file and allows you to easily lay your own tracks on top (with whatever VSTs you have installed locally), and then allows you to freeze and share those recordings as audio in one go, in the shared project.
Other commenters have stated what a pain it is to just get two environments in sync. A complex production will have tons of plugins, various MIDI and audio interfaces, differing outboard gear and other variables that make life hard when sharing files.
You also have asset management issues; where are the audio stems, vocal tracks, library resources, etc. stored and how are they shared.
If you want to collaborate in real-time, then there is another layer of technical challenges.
I have been working on a system that is influenced from my earlier experience building audio tools for earlier generations of sequencers and DAWs, rendering pipelines for Dreamworks and configuration management systems for Amazon. I feel you really need a system that uses a DSL and all operations are defined at that level. There shouldn't be anything you can do in the user interface that isn't available at the DSL level. You can then think about techniques used in Docker, k8s, etc. to define and deploy both the environment and the interpretation of the DSL in the user interface.
Wasn’t that the one written in assembler? Kudos!
Amazingly, the website is still alive: https://www.sawstudio.com/products_sawstudio.htm I am not brave enough to download and try it out.
The procedure to ensure your project is properly fully exported should be one button in a single place, not a 4 steps checklist in different configuration views.
> Officially, it was known as "Ableton Link Share" during early development and then launched as “Ableton Live’s ‘Share’ feature” — introduced around Live 9.1 (2013–2015 era).
> It allowed users to upload their Live Sets directly from Ableton Live to a personal web page (via ableton.com) to share projects with others — including audio previews and downloadable Live Sets.
> Ableton eventually discontinued the Share feature in 2017, citing limited use and the shift in focus toward Ableton Cloud / Splice / Link integration as alternative collaboration tools.
That said, I think that vanilla Ableton provides a whole lot to collaborate with. Maybe there are a lot of people for whom the base set works, but "do you have Apollo UAD + the Neve preamp plugin?" or something like it is not a rare occurrence.
Now, is this a good idea? There is a lot to be said about having an upfront plan about the usage of effects and placement of parts on the soundstage and committing. This might be a lost art, as I keep seeing Pro Tools files with hundreds of tracks, with stacks and stacks of effects.
Plugins with (often intentional) indeterminism in them, variations in OS and CPU architecture, variations in how fast their CPU is (a billion plugins on a track may run smoothly for one person and destroy someone else's machine), variations in sample rate, etc. can subtly or substantially affect how something sounds.
And in general it just makes things way easier to share even ignoring the issues of getting people to install the same plugin at the same version and the IP issues.
https://www.reddit.com/r/ableton/comments/1xrbj82/been_an_ab...
> mainly it uses the underlying control surface layer to receive events with a python bridge then communicates those out to a central server, from there there's a websocket room you have to be invited to and you get all the updates.
> For changes or additions of samples/tracks it sends it to an incoming temp directory and edit's the ALS to read from it instantly
> The git portion is heavily inspired by git lfs, and stores your data in r2's but only diff's between the last version and current version.
It's a hosted product, but self hosting is possible even now. I think the code is up on github.
Asynchronous collaboration, there are a few non-native solutions.
Or you can always exchange files via Dropbox or something as you said. Or share screen.
Live playing over the public internet, there's no good way to do it , and can't really be due to latency. Many projects tried, all suck.
Live playing locally, there's Ableton Link.
This is a huge update (ARA alone, the step sequencer, etc) anyway, and many long awaited and several non expected items.
I was about to post exactly this. I don't even (personally) need collaboration, I just want to be able to branch, experiment, and merge. Even if we didn't get true version control, Fusion-style timelines would be such a huge improvement.
Vast majority of musicians use DAW, although some famously don't, e.g. Burial used Sound Forge for his first album.
I'm guessing you mean remote collaborations, but you don't actually mention that explicitly :D
Hot-seating works well for collaborations for me :) I've basically setup my home-studio to make it easy to "add in" more folks on a moments notice, with chairs and what not available when needed, and table space for when we do electronic jams with synths and whatever. Sometimes someone knows Ableton better than me, then I let them control everything, or vice-versa.
Folks around you (even complete strangers!) are surprisingly receptive to quick Instagram DMs with "Wanna jam at my home studio? :)" in them, and since music is what I do to get away a bit from the computer, forcing it to not ever be remote worked well for me to make it remain a more-or-less computer-less experience :)
It uses WebAssembly to bring performance on par with desktop DAWs, while being fully built around real-time collaboration. It even supports VST3
many great community features there too
The other challenge is media file management. Specifically, multiple MB & GB of media file storage means $$$ and git was magical because of free hosting. Then there was clip splicing and diffs - a wav file isn't exactly like a piece of code you can read directly and I don't have enough knowledge of the internals to make it work.
I was also worried Ableton would just take the idea and integrate it anyway and then it would be a wasted effort me
I just looked them up and it seems like they're still around and pivoted to a learning DAW and a plugin marketplace.
Surprised that 10 years later on there's still no industry juggernaut owning collab music production.
I think with something like syncthing + taking turns as host if automation still has issues and a virtual output you can probably get a good flow going, even if not perfect.
There will be some session setup and configuration for abelton and endlesss as far as i/o is concerned… but once its running you can play with anyone anywhere in the world. Endlesss handles the ip, streaming, and discovery and link will make sure its all synced up… Is the most elegant solution I’ve found by far.
[1] https://endlesss.fm/ [2] https://www.ableton.com/en/link/ [3] https://endlesss.net/
Any Ableton Live users here that can chime in on how they solve that?