Versioning Ableton Live projects with large files

This is a follow-up of one of the first posts here keep-track-of-versions-of-your-song-with-Ableton. At first this was a bit tricky, because you could choose leave out large files, like .wav recordings and samples and even the .als project files. Or you could defy a warning from Git stating that it doesn’t handle large files well, performance-wise. This will hit you when you push and checkout your repository remotely. Now you can start using the new Large File Storage (LFS) feature, that handles versions of the large files as markers in the Git repository, improving the speed at which Git can handle these large files when getting the latest version remotely. Please note that these versioning tools might work for your DAW too.

But why Git versioning?

Lets go back to the beginning. Why should you consider using Git for versioning of your Ableton Live projects? Version 10 of Ableton Live keeps backups of your project files. If something goes wrong, you can go back 20 or more versions. The problem is, what version on which time and date contains which changes? There is no way to tell. With Git versioning you can attach a message to each set of changes (commit) and you can decide which part of which commit you want to keep. The thing that holds most people back from using Git is its complexity.

Git is even more powerful in combination with a shared remote repository like GitHub or Bitbucket. This will allow you to work together remotely on a shared project with more musicians, while at the same time giving you the liberty to work stand alone. Contact me if you want to hear more about this. Please note that some remote repositories are not free if you want to store private content and collaborate. Otherwise everything you put on it is public. GitHub now allows free private repositories.

Collaborative repository on GitHub
Collaborative repository on GitHub

With its power comes a set of command line instructions that scares the shit out of any musician. For daily use I turn to SourceTree for a more graphical and pleasant Git experience. SourceTree is free and hides most complex command line instructions behind a more useable interface. There will be a time however when you really will have to dive in to the nitty gritty and this post will also dive deep. Fortunately the latest version of SourceTree also understands the new LFS features.

Large File Storage

The first step will be to install Git LFS on top of Git. By the way SourceTree has embedded versions of Git and Git LFS that you can install alongside. I have no idea how powerful these embedded versions are compared to the stand alone versions. Then here the steps you need to take to activate the Large File Storage feature. Open a command line in the project folder where you created your Git repository and type (as marked in bold):

b2fab@STUDIO MINGW64 /d/Documents/Ableton/Goodbye Project (master)
$ git lfs install
Updated git hooks.
Git LFS initialized.

b2fab@STUDIO MINGW64 /d/Documents/Ableton/Goodbye Project (master)
$ git lfs track *.wav
Tracking "B2FAB - Goodbye ft Hanny (Mastered).wav"
Tracking "Goodbye (instrumental).wav"
Tracking "Goodbye ft Hanny (unmastered).wav"
Tracking "Goodbye ft Hanny.wav"
Tracking "Goodbye Hanny (FY).wav"
Tracking "Goodbye.concept.wav"

b2fab@STUDIO MINGW64 /d/Documents/Ableton/Goodbye Project (master)
$ git lfs track *.als
Tracking "Goodbye Hanny (Exp).als"
Tracking "Goodbye Hanny (FY).als"
Tracking "Goodbye Hanny (FYCD).als"
Tracking "Goodbye Hanny Beat.als"
Tracking "Goodbye.concept.als"
Tracking "Goodbye.Hanny.als"
Tracking "Goodbye.instrumental.als"
b2fab@STUDIO MINGW64 /d/Documents/Ableton/Goodbye Project (master)
$

As you can see the install statement just prepares the repository. The track statements marks large file types to be treated as LFS files. From that point you need to commit this change and its .gitattributes and you are good to go. If you want I can go live on Instagram or help you out.

Commit Git LFS in SourceTree
Commit Git LFS in SourceTree

A live setup for Ableton Live

It just does live gigs

I guess most musicians use Ableton Live live like I use it. Its kind of the standard way of building a live set. This article describes the details in the implementation as I use it.

So there is Session View with the track channels laid out with different instruments and the scene rows with the different songs. Within each song several scenes with the intro, verses, choruses, break and outro. Ableton will follow the bpm mentioned in the description and you can set the Launch Follow Action to let Ableton run the flow of each song. This way Ableton will back your song live with the right scenes with the push of a button. With effects automated or manual as you want it and in the correct tempo. Additionally I use MIDI Program Change commands to instruct the Nord and the Korg to switch to the right instruments for any scene of any song.

Ableton Live live set
Ableton Live live set

In my case I play solo, or with aid of other musicians. I can choose which track to leave out, the backing vocals, the bass or at least one or more keys. On the whole Ableton Live runs the show in my case, so I should be careful not to bore the audience with too much music out of the box. I should keep working on performance, video tracks and light effects all the time. I try to use only Ableton Push, avoiding the use of the laptop to start and stop.

What’s on the monitor?

Lets start cheating a little. Because not every track has drums, I rely on a click that gets routed to the monitor. In the above picture you can see the click track on the left. It just plays and plays and gets send to the Cue out Return Track C. Return Track C works pre-fader so it is in no way linked to the master mix. The cue out goes to a separate output on the audio interface and thus can be mixed to all monitors. For now this suffices.

All live instruments, vocals output and everything from Ableton Live gets mixed in by the audio interface. The audience hears the Master Out mixed and on stage you hear the Cue Out mixed with the click.

Prepare for the worst

My live set contains an instrument rack that is setup to be a playable, plug in based copy of the most important instruments I use live.  Should an instrument break down, I will then have the option to use any MIDI keyboard to replace it. The plug in sounds are not as nice as the Nord and Korg sounds, but I will have something to play instead of nothing.

Live Instrument Rack
Live Instrument Rack

To make sure that I will always have a way to recover in case of emergency the entire live set is stored in the Cloud. This way I can fine tune the Ableton Live live set from home and push it to the Cloud. The moment I open the laptop for a show and there is Internet it will sync up. I use OneDrive but any Cloud product is fine. Should the laptop break down, from any other laptop I should be able to recover the Ableton Live install, a few plugins and packs and any interface and sync the live set again. At the last moment a backup laptop should be ready to swap in on the spot if needed. Lets pray it will never come to this, but if it can happen it will.

 

Controlling Ableton with the Komplete Kontrol A49

I was looking out for a MIDI controller and control surface for Ableton Live. The Komplete Kontrol S series and comparable Novation controllers were strong contenders, but then came the news of the new Komplete Kontrol A series. This caught my eye, because the pricing of these was well below that of the S series. Previously I switched out my old faithful but battered Korg Triton workstation for a Nord Electro 6D. The Nord is absolutely the right keyboard for my purposes, but I already knew I would miss the pitch bend and modulation controllers. The Push is perfect control surface, but there is some flow missing when you really want to play on the keyboard and interact with the sounds.

Enter the Komplete Kontrol A49. I first tried the controller at the Amsterdam Dance Event and there I noticed that some things were not working right. The person that demonstrated the device there said that it needed some firmware updates. This was some weeks before the official release. After the official release I ordered it and started working with it. Immediately it showed the same limitations in controlling even the Komplete Kontrol application that comes with it. Selecting a sound works fine. You can browse instruments in the Komplete Kontrol application with a ‘prelisten’ sample for every sample by just clicking, turning and nudging the Browse button as a joystick. All other buttons and knobs remained dead.

Komplete Kontrol A49 Browser
Komplete Kontrol A49 Browser

An update!

Then after a week an update to Komplete Kontrol rolled out and a firmware update for the A49 controller. Only after that the knobs came to life as macro controllers within the Komplete Kontrol application. Then the next step came where I installed the keyboard on my desk to work as the main controller for writing songs within Ableton.

Ableton can use ready made scripted or compiled templates to allow MIDI controllers to work as control surfaces. Sure enough when you dig into the documentation of the A series MIDI controllers, you will find reference to copying the right scripts into the Ableton system folders. Essentially you need to copy over scripts from a Host Integration/Ableton folder to Ableton program data control surface script directories. This allows the control surface scripts to appear in the Preferences popup of Ableton under the Link MIDI tab. Once the script is selected, the A49 should not only be able to control instruments and play them, but it should also be able to control Ableton itself. Also the transport controls, like Play/Record etc.

Do not follow the instructions!

However, that’s where it all breaks down. When following the instructions you will end up with just the MIDI template on the controller. The transport controls remain dead. Fortunately when browsing several forums, I found that the instructions are wrong. Probably copied and pasted from the S series. The essence is that you have to ignore the part where it says that you don’t need to specify templates for the Input and Output settings of the control surface scripts. Setting these to the Komplete Control A DAW options magically enables the transport controls. From then on you have to manually switch back to the MIDI controller template by using SHIFT – Plug In/Midi. Don’t forget to also enable the Remote settings for the Komplete Kontrol MIDI ports and you will have it all.

Select Komplete Kontrol DAW input output

The instructions from Native Instruments will also give you a Kontakt instrument rack that maps controller inputs to Kontakt instrument macro’s and now you are completely in control (or Kontrol hahaha). By all means it is not that easy to get to all the good stuff, but at least its there. This is now my workflow:

  • Want to browse Kontakt instruments? Start the Komplete Kontrol application and use the Browse option to quickly browse instruments. Also the sounds from others then Native Instruments can be browsed I noticed. I am using Spitfire eDNA Earth and Epica for instance.
  • Want to start recording in Ableton? Use the Track/Instance transport controls. Even including the loop , metronome and tempo tap options. The controller knobs control the mixer levels of the Session channels.
  • Want to play and control instruments? Press SHIFT Plug-In/MIDI and make sure you have MIDI mapping to the controls. Make sure you have the knob controls mapped to macros in your instrument. You may need the Kontact instrument rack for that.

The verdict? Its not very intuitive and it takes some getting used to, but all in all you get a very playable semi weighted MIDI controller and a controller surface that really can give you the basic controls that replace the keyboard and the mouse. A nice touch is the touch sensitivity of the knobs. The tiny display informs you of the current function of a knob if you only touch it.

 

SoundBrenner Pulse wearable metronome, first impressions

What people say

This product appears everywhere in timelines on social media when you’re interested in making music. I must say it immediately got my attention when I saw it. For me the appeal is that would solve the problems playing along with the computer when practicing or playing live. I don’t always have live musicians to play along with and the computer is unforgiving. Any metronome is welcome there and the SoundBrenner Metronome app is then already of great help.

But now the Pulse is there and it adds to this a haptic vibrating metronome you can feel. Now you don’t have to look at blinking lights while playing. Also, I use Ableton Live, also live, and there is even the possibility to use Ableton Link with Metronome app. If this all works together as one integrated haptic Metronome that allows me to feel the tempo while playing along with Ableton? Perfection! The ultimate gadget heaven!

Before buying I always look around for reviews and more info. One big complaint is that it is not an actual watch kind of thing. A lot of people hoped that it would also display the tempo. It doesn’t. You have to look at the screen of your phone (or tablet) to see settings and tempo. This also means that you have to keep the phone screen on. At the same time the Pulse is connected via Bluetooth. The phone is the brains, so you must at all times keep it charged and connected. A challenge, specially live.

Then there is some word going around on it not being accurate, but I think that is already fixed now through firmware updates. Another complaint is that it takes time to get used to ‘feeling’ the tempo. I guess that a lot of people send it back immediately, but I am more patient. Most new skills take time to get used to and I am quite convinced that this Pulse is a good idea. But now for first impressions.

What I say now

When you first start using the Pulse you will find that it is a bit fiddly to operate. You have to tap the watch face to start using it, but its not really touch sensitive. You have to really press it to pick up the taps. Then, straight out of the box it is set to really buzz the rhythm very strongly. And audibly also. Fortunately you can immediately go back to the app to set it to a more friendly and short vibration. In the lightest mode it really feels okay, but I play keyboards, When playing a more physical instrument, like drums, I can imagine you need the stronger buzz.

Charging it is also fiddly. It is a small kind of dock that has to properly connect to the device. After popping the Pulse in the band it gets even harder to let it connect to the charging dock, because the band pushes it from the dock and the dock can easily slip away, because its so light. People complain about the time that the device can be used on a full charge, but I don’t have enough experience now to say if it is really a problem for me.

Then its time to start practicing and linking it up with Ableton Link. That’s where all starts to get a little bit flakey for now. Ableton Link somehow goes in and out of the connection with the app. Which is ok for practicing in my case, but I don’t think this is ready for playing live. Also my phone sometimes loses connection with the Pulse after several minutes of playing. My phone is an Android phone, running Oreo and I know it can be very aggressive in killing background processes, specifically if they draw power. Probably that is not helping here, so I want to try it with another iOS device also.

One other thing to mention: its quite a big device. Maybe better suited for male wrists. There is another bigger strap in the box for your leg or your upper arm, but this device will have a hard time looking elegant on fragile ladies arms.

First conclusions now:

  • Big. Don’t expect this device to be light to operate, you really have to tap hard
  • Dive in to the settings to tune it to your preferences
  • Great for practicing, but for playing live this is a really complex setup to get and keep running

I hope this helps you appreciating the device for what it is now. I will keep using it and I’ll keep you up to date. Please note that there is also a new Soundbrenner device on Kickstarter that is actually more like watch, the Core.

Keep track of versions of your Ableton projects with Git

This is by no means very new, but it might give you some practical hands-on for working with Git and Ableton. I am also aware that you can really integrate more with filters and helpers and all other kinds of tricks, but this article shows you that you can start with versioning your musical work by simple means.

What is Git

Git is about versioning. Keeping versions of your song while it is progressing to its final state. One of the most annoying things that can happen is losing the last best version of your song because of some mishap. DAWs can crash and then when you recover, what if you end up with crap? Aargh! You can accidentally delete stuff and later notice that some vital sound or effect got lost. How to get it back? Is Undo failing you? You did make backups or…?

A backup will bring you one version back, unless you are the kind of person that saves every version with a date/time stamp. And then what do these dates say? Is the Friday version better than the Saturday version?

My solution is to use Git. Git is software that allows versioning at a file level. It saves every file change in a specific folder, or sub folder, in a special internal store, together with a comment that explains what the purpose of the file changes was. Git is at its best with text files, but it can also handle binary files out of the box. Its purpose is grander than just versioning files in folders. It supports team collaboration on versions and its functionality goes well beyond my daily use for music.

How to use Git

The way i use Git is fairly basic. At the end of a session working with Ableton on one song or a set of songs i close down Ableton. Then i let Git take a snapshot of the folder that holds the project. Git can be instructed very specifically on the files to include in this snapshot and which files to leave out. Git calls this snapshot a commit. More or that later. Then i add a comment to this commit, like “Frozen Epica for better performance in the mix”. Ever since i started using this versioning of songs it has saved me many times from losing the “latest greatest” mix.

Git versioning

If you dive in to articles about Git, you will find that working with it is actually very technical, daunting even. For that purpose i use a shell around Git that makes it graphical and easy to use, SourceTree. It is free and can be installed in its most basic form with Git embedded. You do need to register.

Committing projects to your repositories

If you have it up and running you can start adding your projects to Git by creating new repositories for them. Click Clone/New and Create new Repository. Add the folder where your files are, give your repository a name and you are in business. Scanning the folder for files can take time and you might find that a list shows up with lots and lots of files. Maybe you only want to keep track of your “.als” file?

If you want to filter only essential files in the Ableton folders it is best to add a text file named “.gitignore” file in the root folder. My .gitignore file contains the following text:

# Rendered music #
##################
/*.wav
*.asd
*.sfk
/*.mp3
AbletonTmp-*

This leaves out temporary Ableton files and all rendered music files in the root of the folder. At this point Git will only check which files should be committed as part of the snapshot of your song. These files will be marked unstaged, at the bottom of the screen.

Git staging

Click the checkbox left to “Unstaged files” and the files will be moved to the box with staged files. This can also be reversed and set up to stage only individual files. Every staged set of files can then be committed with a comment in the “File Status” tab.

Git commit

If you made it to here, then you have made your first steps in to versioning. Congratulations! You can now go a version back by double clicking any commit in the list. Like what you hear, but not sure if this is going to be final? Make a branch and work on that branch to see if it gets you there. Or you go back to the original version and explore that. The main version is always on a branch named “master”.

Backup your versions

But does this also make a backup of your files? Yes and no. You will find that files will be stored into a special hidden file structure in the same folder (named .git). Are you happy with this as a backup? Well i’m not. If you lose your PC or entire drive you lose it all. Git or no Git. What i do is that i make a backup of all project folders, this also nicely saves the hidden .git file structure and also all versions of all songs. Nice eh?

If you want you can even commit your project changes to a cloud service that supports Git. One option is Github, this is only free if you publish your projects to the whole world. There are cloud storage options that understand Git and allow free and private service, but then you put your trust in a cloud service like Bitbucket. Its up to you. I keep a simple backup with copies of the files in my projects folder on separate disks.

Ups and downs

There is one downside. Ableton does not play nice and needs to be closed, every time you want to commit the latest changes. Also if you want to go back to another version of the song. Tough, but it still works for me. Want to give it a try? Keep me posted!