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.
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.
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.
> 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.
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.
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!