Any Ableton Live users here that can chime in on how they solve that?
Any Ableton Live users here that can chime in on how they solve that?
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.
They're the de-facto sample library for 90% of any commercial track you've listened to on the radio/spotify/tv. There are a few Fred Again and Sabrina Carpenter songs that are basically just one straight sample taken wholesale from them.
Had no idea they started as a version control system.
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.
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.
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.
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.
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
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 :)
> 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.
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.
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 uses Sound Forge for his music.
Doesn't make much of a difference, as it still has audio recording, plus audio samples you can drag as loops or as drum machine sounds, and things like that, that are per project (not necessarily in the library).
Any vocals for example would be 32-bit float lossless tracks, usually multi-tracked too. And any variation of a track, whether midi/vst based or audio based, that you chose to render to a clip (a very standard workflow, saves cpu and allows you to do audio edits to that part), will also be backed by an audio file on disk. Same for every "frozen" track.
So it might be a DAW and not a purely audio editor, but it will still have lots of audio files it manages.
The fact that MIDI tracks with VSTs on them render on the fly doesn't change this.
Even those VST-backed sequencer tracks generate audio files that are consolidated into the project folder, when the clip is rendered to audio for creative manipulations (common workflow in Ableton), or when it's frozen (also common to save CPU).
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.
You can export full mixdown audio.
You can export stems.
You can export midi parts as midi.
You can export / save as the whole Live project.
Obviously it can't magically make someone else you share it with have the same third party plugins.
But if you stick to audio + the internal instrument and fx plugins, then your exported full project would be editable and playable as is for everybody you share it with that also has the same Live version.
Archiving/sharing a whole project, to get back to it later, across OS updates, DAW updates perhaps, or across computers in a team? I've lost count of working sessions that lost the first hour trying to get things in line.
Never have had this kind of issues with Logic or Reaper. I can't explain why, I don't know.
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/
Other DAW manufacturers could learn a lot from the Endlesss architecture.
Got the t-shirt .. ;)
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.
(I want to point out that I was not the author of SAW, Bob Lentini was. I worked on integrating SAW with MasterTracks Pro from Passport Designs.)