GitHub for Music: How we came up with the idea of using GitHub and open source tools to record remotely

Combining technology with music creation

picture of a person's face with headphones and a person playing drums
Tom and Rob in their studio

Even though Lorenzo's Music is a lo-fi, punk blues, alternative band, there is actually a lot of technology experimentation that goes on in the background when we create music. 

That goes not only for recording but also for software and collaboration.

The band has been heavily involved and supportive of open-source and creative commons for years.

Because of this involvement in the open-source realm, I also work on different projects using GitHub to share and collaborate on projects.

Could I Use GitHub For Music?

When I thought about applying GitHub to music collaboration.

One day as I was sharing changes to a web project on GitHub I thought -- Could I use this for music? Could the band use this to share full recording DAW sessions with each other to collaborate on songs remotely?

Couldn't find anyone else that was doing this.

I searched and searched online and I couldn't find any other band that was doing this. So I wasn't sure if it was possible.

I looked at one of our recording sessions in Ardour (the open-source DAW we use). It had separate folders for all the contents the software used like a folder for the audio recordings.

And if I searched for the Ardour file that opens the session in the software, and right-clicked on it to open it in a text doc -- It was just an XML file.

It was just code.

So I thought, that should work right?

The Experiment:

Testing a song idea with GitHub and Ardour DAW for the first time.

I decided to try out the idea with a new Ardour session. At my home, I recorded a keyboard idea for a song. That way at least if it didn't work I didn't lose a song we were already working on.

Uploading the session to GitHub.

After I saved the session and closed it. I created a new repository for it on GitHub and uploaded the entire Ardour session folder to GitHub.

Accessing the session on a different laptop at the studio.

So here was the first big test.

Later at our studio, I cloned the GitHub repository to the laptop we use out there. I opened the session and everything was there!

So far everything was working just great!

Next, I created a new branch in the repository so we could record new parts for the song. Then when we were done I saved the session and uploaded the new changes on this branch to the GitHub repository.

Here's the real secret to using GitHub for music collaboration

Our bass player Cliff said something that changed the whole thing...

He said, "Why would we have to merge it?"

After the recording session, I described the whole process of what I was trying out to the band. I told them my main concern was what was going to happen when I tried to merge this new branch with the main branch.

I worried that If there was a conflict during the merge of the two branches there was no way to fix it.

That's when our bass player Cliff said something that changed the whole thing...

He said, "Why would we have to merge it?"

He was right! We weren't writing code, we were creating music.

Branches = Song changes

So we started using GitHub as a way to track the timeline of a song not maintaining a main branch. Each new branch is a new iteration of that song.

So the next time we wanted to make changes to a song we just created a new branch from the previous branch and so on until the song was done!

When the song is done

And when the song was done. We would make a new "Final-mix" branch and make that the main branch in the GitHub repository.

Collaborative Power

We were actually able to record and mix several songs because of this method during the global shutdown in 2020.

The other members of the band could now contribute remotely by adding new parts, and effects, and mixing songs from home.

And even today it brings flexibility to the creative process for us, allowing ideas to flourish outside the confines of our studio.

The Technical Setup:

As far as our technical setup, we use Ubuntu Studio, a creative operating suite for musicians so all band members have the same software tools and effects installed by default.

We haven't tested it with other recording software but in theory, this could be done with other DAW setups.

However, I encourage other musicians to explore the possibilities of using open-source tools and version control for their projects.

You can even create a bootable USB version of Ubuntu Studio to try it out yourself without having to install the operating system on your computer.

Conclusion:

We continue to work on new songs combining traditional recording with remote collaboration using GitHub.

The freedom and creativity of experimenting with open-source tools have brought a lot to the band.

Have a question about this?

If you would like to ask more about this process you can send us a message


Our latest song

Our song "Blue water friction" is available now! Listen anywhere you stream music. Click here to listen

Also...

This work by Lorenzo's Music is licensed under creative commons CC BY-SA 4.0