Are there any open-source platforms out there for collaborative #music production?

Or, in other words, is there anything like Github for musicians and producers?

I have a lot of music that I’d love to make collaborative.

Currently, if you want to collaborate on a song, you usually have to share big zip archives with .wav/.flac files (USB sticks and external cloud storage links still reign supreme). Or the whole folder with your DAW project - assuming that all of your collaborators also run a compatible version of the same DAW, and that you share any external plugin through other means, and that you use relative paths everywhere in your project. Then you usually get other zip files back, and the cycle continues.

Couldn’t it be better?

Some potential use cases:

  • I want a trumpet on my chorus, but I can’t play trumpet, and I don’t want to just throw a cheap VST in the mix - maybe I can open an issue on my project with a description of what I’d like, or even a MIDI, and, if you like the song and you know how to play trumpet, you can open a PR with the .wav of your recording.

  • I want to add a nice neoclassical cadence to my Malmsteen-like guitar shred, I can play the instrument but I don’t know much about classical counterpoint - I can open an issue and, if you like the track and you’re a music theory geek, you can upload a MIDI file or a music sheet.

  • I have recorded all the tracks of my song, but I’m not an expert in mastering and I’d like some help - I can open an issue and, if you like the song and you’re a mastering guru, you can open a PR - ideally only with a plain diff file containing the chains of effects and volume/envelope changes to apply to the original files.

  • CI/CD for music - why not? Why not have a pipeline that can be configured to render the project, and generate a bunch of audio files in different formats as output artifacts, on each commit on the main branch? Or on each PR, so everyone can have a preview of how some changes would sound? In an advanced use-case, this pipeline can leverage some black magic to run something like a headless DAW in a container and render the whole thing. In the most basic use-case, it can be just an ffmpeg process that mixes together a bunch of audio files.

  • How would attributions work in collaborative music projects? Simple, the same way they work in git. Each contribution is added to the internal ledger, the same way git log works. Contributions can be measured either by total length of submitted audio, or by “pre-compiled” means (such as length of text-like files, like chain effect diffs or MIDI files).

  • You could then release the song the same way you’d release a new version of a git project - your CI/CD builds the audio files, it uploads them to multiple clouds, contributions are deterministically calculated the “git log” way, and, if those authors have an attached wallet, royalties can be automatically forwarded there, proportionally to their share of contributions.

  • Songs as open-ended projects - why not? The release of a song can be seen like the release of a version of a software artifact. Wanna fix the clarinet? Or the EQ of the snare? Just push another PR, and make another release. And you could even configure whether to overwrite the uploaded artifacts, or automatically create a new “(XYZ Remaster)“ track.

  • Wanna make a remix of someone else’s music? How about calling it a “repo fork”?

I don’t think these basic features are too hard to implement, and could probably be part of an MVP.

And the sky is the limit for more advanced features. Things like:

  • VST, Sound Fonts and other types of plugins? How about calling them “dependencies”? You can include them as submodules, or maybe even have an npm install / pip install equivalent - perhaps with some way of managing authentication and payments for paid plugins.

  • Cloud DAW! Can you imagine something like Reaper+Audacity, but running in the browser as a WASM app? Perhaps even with some collaborative tools for shared editing sessions!

  • Federate everything! Make it ActivityPub-compatible, allow people from other instances to contribute, and follow your favourite artists and their creations and contributions in any ActivityPub-compatible client!

If anybody knows of a project that ticks at least some of these boxes, feel free to share!

And if there’s no such a thing, and you think that this isn’t just the 2 AM delusion of a sleep-deprived half-engineer/half-musician geek (if you’ve read this post so far that’s probably the case), feel free to bring your ideas!

@musicMusic group

0

If you have a fediverse account, you can quote this note from your own instance. Search https://manganiello.social/objects/a4ee14ac-d57c-49c7-9317-e9cf0b3608a6 on your instance and quote it. (Note that quoting is not supported in Mastodon.)