Maintaining correct song position with Ableton Link


I am new to GP in the last few days. I am particularly excited that is supports Ableton Link, and can send song position data to plugins that are hosted in GP which I can’t achieve in MainStage. My goal is to be able to use plugins such as LFOTool (by XFer Records) or various plugins by Sinevibes, which all do audio animation effects based on repeating patterns that are synched to the start of a bar.

I had some very positive, fast results by simply switching on Ableton Link. However after more realistic experimentation to simulate playback in a live gig, I have found that the song position in GP doesn’t stay in sync with Ableton when I cause Ableton to jump immediately to the start of a new song without a count-in. When Ableton jumps back to position 1 | 1 | 1 (and optionally changes tempo for the new song), GP immediately detects the tempo change but keeps free-wheeling at the same song position without resetting back to the start of the bar. Pressing stop then start in GP doesn’t solve it.

Does anyone know how to achieve what I’m trying to do here? The dream is to have audio effects or arpeggiators on my live keys patches that move in correct sync with the timing of the Ableton backing tracks. I’ve wanted that for years, and it looks like GP comes closest to that yet!



Do you mean scene?

@pianopaul yes, I mean scene.

I am using Gig Performer so switch and start scenes in Ableton Live by sending OSC messages to a ML4 Patch I made by myself.

So when I press Play on my S88 the global Play is triggered.
In scripting I have a callback which checks if the Playhead is enabled and sends an OSC message to Ableton Live to fire the selected scene.

When I change a rackspace I send a different OSC message to Ableton to select the correct scene.

This is working perfect for my use case.

And with LINK enabled the tempo is synched between Ableton Live and Gig Performer.
In my usecase Ableton Live is the Master and GP is the slave - for the LINK thing.

Yo9u can take a look here
[Solved]”Sync Start/Stop with Ableton Link” and Live 9.x not working

Thanks, I have already read your comments in the other thread.

In my situation, someone else is in control of Ableton and I am not the one pressing start/stop or managing the Ableton tracks in any way, so that option is not open to me.

OK, for my understanding.

The other guy triggers the scene and GP playhead is started.
Now another scene is triggered and you want GP also to start at the beginning?

Yes that’s right.

OK, so a custom M4L Patch should help.
An Observer on scene launch sends an OSC message to Gig Performer.
In the OSC callback in scripting Gig Performer can stop and start automatically the global playhead.
This way Gig Performer starts from 1.1 when the Ableton Live scene is triggered.

What version of Ableton Live are you using?

I don’t necessarily need the GP playhead to start automatically, although that would be fine. I would also be happy to press stop/start in GP manually as long as it could sync up to the Ableton position straight away.

Live Lite 10.

OK, so M4l is obsolete…

And when you take a look at the LINK specification you can read the no song-position information is sent.

Perhaps I have misread… I looked at the documentation yesterday and I thought it said song position WAS sent from v10 onward?

This is from their website

Link provides tempo sync and a grid to which apps can align. In Live 9, there are no Song Position or Start/Stop messages sent via Link, nor can any other MIDI data be sent. In Live 10 the feature “Start Stop Sync” additionally shares Transport Start and Stop Commands.

Hmm I guess it depends how you read it. The Live 10 manual goes to the trouble of saying it’s not supported in Live 9, which to me means they’re saying it is supported in Live 10, otherwise why would they say that?

It also says “Link-enabled software will remain in tempo as well as at the correct position in relation to the global launch quantization of all participants.”… unless they mean “as long as you just leave it and don’t touch anything again after that?” haha what a confusing set of documentation.

But what you could do in your Ableton Live Set:
Create a new track with Midi Clips.
When the scene is started, the new clip in the scene is started also.
This Midi Clips sends for example C3 via Midi to Gig Performer,
In Gig Performer you can create a script which has a callback to the incoming C3 note
and automatically stops and starts the global playhead.

This way you are totally in synch with the position.

BUT: You would have to check if that stop/start also restarts Ableton Live …

Thanks @pianopaul for your help. I guess I’m back where I started… for my purposes, the Ableton Link support in GP doesn’t really provide any benefit then, since I could achieve all of the same things over a midi cable.

I might dive into the Link SDK and have a close look at what’s being sent, to gain some certainty and maybe look at creating my own software bridge between Link and the GP play/stop button without the “Sync Start/Stop with Ableton Link” GP preference being active.

@rocketjosh7 the purpose of Ableton link is to keep Live and GP in sync so it will always reset GP to the start of the bar. I didn’t understand your statement:

Is the problem with GP or with your plugin?

LINK does not send Song-Position information, that is not GP’s fault.

I think you will not find your solution in the LINK SDK.

This is because in Ableton Live the global play is not stopped but a new scene is triggered.

Even when a new scene is triggered, the two will still be in sync (start of bar). @rocketjosh7 is talking about going back to 1.1.1 so doesn’t that mean that Ableton is being stopped and restarted?

It might also help knowing more about the LFO or other effects e.g. are they multi-bar or just repeating for each bar?