Send MIDI commands before song starts

As many other bands we have several MIDI tracks sending preset change information to our guitar modelers, FX units etc.
As I found ,there is a difference in the way Ableton Live handles such MIDI tracks in comparison to Logic Pro (this is probably the only advantage Logic has to Live for Backing Tracks). Live sends MIDI commands only while playing. Logic also sends them when moving the playhead, so if I move to the start of a song (while not playing), all presets are already in place, before the song actually starts.

This has some advantages:

  • As a musician, it’s reassuring to know that you are ready for the next song and the sound you need is already in place
  • You can play some pre-song intro with the correct sound of a song
  • If you name the presets of your floor modeler (or other MIDI gear) after the songs, you can see the name of the next song on the display before it starts. So you might not even need a printed setlist on stage.
  • When controlling Ableset with a MIDI foot controller from the front of the stage, you get a direct feedback that jumping to the next song actually worked.

Now, unfortunately Live does not support this, but I think Ableset could make it work. When jumping to a song, you could start playing immediately for just a tiny amount of time and stop again. Just a few samples, so it should be enough to trigger all MIDI commands but not be audible (even if something is audible, at the song start it’s probably only the click track in most cases).

It would be really cool if you could make this happen!

Hey @johrek, welcome to the forum, and thank you for your feedback!

I currently see two potential ways of solving the use case you’re describing.

First, you could make use of AbleSet’s +PAUSE flags and dedicate the first section of each song for sending MIDI commands to your connected devices. The beginning of your songs could look like this:

CleanShot 2023-09-15 at 17.26.24

If you then enable the “Autoplay” option, AbleSet will automatically play the first section of your song to trigger all outgoing MIDI and then pause when the first actual section of your song begins.

Second, if you’re mainly sending program changes via MIDI, I’ve created a little Max for Live device that you can use to automatically send program changes when the playhead hits one of the clips, even if Live isn’t currently playing:

https://drive.google.com/drive/folders/1VnNlh_6f3cUqq-YOQbChupTB7VICg9m2

Just place the device on a new MIDI track and drag the Program Clips to where you‘d like it to send program changes to you MIDI device.

This is still a work in progress but it should already work for this use case.

I hope this helps!

Hi @leolabs ,
thank you very much for your answer!

Your M4L device is a very cool, I really like the idea of solving it this way. Unfortunately this solves only part of the problems, because for many devices you also need CC commands in combination with PCs (for bank or scene changes).

The first appraoch is also interesting, it’s basically a manual way of what I suggested as an automated feature. But I have a feeling that doing it this way could be a bit cumbersome and error-prone, so having this done programatically would still be a relief.

But let’s see! I will play around with both approaches to see how far I can get and how it actually works out for my cases.

Thanks again (and also thanks for this great software :wink: )!

Ableton should already automatically send CC changes when the playhead overlaps the MIDI clip. That’s how I implemented the Program Change device – basically, Live sends a CC to the device and it converts that to a PC message and sends that over MIDI.

The only thing not possible yet would be sending MIDI notes while Live is paused, but maybe I can implement that into the device as well.

Let me know how it goes with implementing this in your set, I’m looking forward to your feedback!

Hello, I do this with a small loop before every song. Before we start the song there’s always a ‘silent loop’ running to switch sounds/lights/… Then we leave the loop and the intro starts. Also between soundcheck and show this keeps running so everybody knows everything works, there are no dropouts, IEM hear clicks, resolume gets midi and so on.

1 Like