Ableton Live clock SYNC and delay compensation - 2021
Posted: Sat May 22, 2021 9:08 am
Guys please help me figure this one out. This thread is NOT about Live VST effects Plugin Delay Compensation. It is about PDC and Live SYNC clock. For a time when the user is sending a clock to an external groovebox, or synths which has it's own sequencers and patterns. Example TR8S, MPC, and so on (many synths and grooveboxes has their own patterns/sequencers etc.).
I'll try to be straightforward. Please follow me. But before I continue with it, allow me some explanation. I never reported this here because all these years I was frustrated thinking that I am doing or expecting something wrong. Turns out this is not the case.
Scenario 1.
I use Ableton to send midi out for everything. Like sending midi out from my Ableton clips into my hardware synths, grooveboxes etx. I use the External Instrument plugin. I use UAD and other plugins which introduce latency. In Scenario 1 everything is perfectly synced. Bear in mind that in this scenario I am not using the TR8S (or MPC or whatever) internal sequencer for sequencing. All of my notes are coming from Live itself. This works fine even if I add an absurd amount of plugins which introduce latency. Everything is in tight sync. In this case I am not using Ableton SYNC clock to my external devices since it's not needed. All of my MIDI data comes out from clips into everything else. But this is not the point.
Scenario 2.
Let's pretend that for sequencing I want to use a straightforward XOXO sequencer found on my TR8S, or my MPC or that I simply want my external Synth and it's own sequencer clocked to Ableton SYNC.
So in order to do that I (obviously) need to send a SYNC clock which when I press Play in Live - my TR8S should start to play and follow my Live session. Ok. I set up Live in that way. I enable SYNC in Live settings to be sent to OUT and into my TR8S. Press play. It works. Ableton is sending a clock to my TR8S and it seems everything is in sync. 7
My clip midi data which is sequencing my Operator and external TR8S groovebox with it's own sequencer midi data seems to be in sync. That's the point.
But here goes the problem.
As soon as I start adding plugins which induce latency to my software instruments, my TR8S clock starts lagging exactly by the amount caused by a plugin which induces latency.
This tells me that Ableton Live SYNC clock does NOT take plugin latency into the PDC effect/process itself - which effectively is resulting all of my external gear that is using their own sequencer - to be completely out of sync.
So long story short I was under the belief that I am doing something wrong and that it's impossible that in 2021 Ableton didn't figure this one out. Right?
Well no...
https://gumroad.com/l/qjpEU
This device is created solely for that purpose. To fix the Live SYNC clock in situation when latency plugins are being used and to make it work with Scenario 2. Where you want to use your own external gear which runs an internal sequencer and makes it tight with Ableton.
So this plugin exist solely and precisely because someone at Ableton decided to not include MIDI sync clock as a apart of the PDC calculation process.
Ok so I purchased a plugin but there's a big problem.
1. Plugin does not work on Windows computers (tested and troubleshooted the hell out of it). On Mac it works fine. On Windows it does not. No it's not the imp.midi package, it's not an occupied midi port either (I have a multiclient midi device which allows me to use a single port for more midi devices). To put it simply, it does not work on Windows.
2. That plugin does not save MIDI port configuration so every time you reopen Live you need to go thru assigning all ports inside of it - from the start.
So to put it simply - that plugin is partly finished and I don't intend to harass a nice developer to fix an issue which shouldn't be there in the first place.
I am finding it ridiculous seeing that this problem was reported since Live 9 (I see other forum posts with the same subject), Ableton did NOTHING to solve it. So we need to rely on 3rd party Max for Live devices which exist solely for this reason but they are partly working.
Please help me understand this.
Am I going mad, am I that ridiculous to expect that in 2021 Live application which is used to produce music in music studios and on live sets - clock to my external interfaces without me losing my mind about it?
I mean shouldn't this be inside Live to begin with? What were they thinking?
What is wrong with this? How are other people coping with this? Is there any other Max plugin which can be tried?
I'll try to be straightforward. Please follow me. But before I continue with it, allow me some explanation. I never reported this here because all these years I was frustrated thinking that I am doing or expecting something wrong. Turns out this is not the case.
Scenario 1.
I use Ableton to send midi out for everything. Like sending midi out from my Ableton clips into my hardware synths, grooveboxes etx. I use the External Instrument plugin. I use UAD and other plugins which introduce latency. In Scenario 1 everything is perfectly synced. Bear in mind that in this scenario I am not using the TR8S (or MPC or whatever) internal sequencer for sequencing. All of my notes are coming from Live itself. This works fine even if I add an absurd amount of plugins which introduce latency. Everything is in tight sync. In this case I am not using Ableton SYNC clock to my external devices since it's not needed. All of my MIDI data comes out from clips into everything else. But this is not the point.
Scenario 2.
Let's pretend that for sequencing I want to use a straightforward XOXO sequencer found on my TR8S, or my MPC or that I simply want my external Synth and it's own sequencer clocked to Ableton SYNC.
So in order to do that I (obviously) need to send a SYNC clock which when I press Play in Live - my TR8S should start to play and follow my Live session. Ok. I set up Live in that way. I enable SYNC in Live settings to be sent to OUT and into my TR8S. Press play. It works. Ableton is sending a clock to my TR8S and it seems everything is in sync. 7
My clip midi data which is sequencing my Operator and external TR8S groovebox with it's own sequencer midi data seems to be in sync. That's the point.
But here goes the problem.
As soon as I start adding plugins which induce latency to my software instruments, my TR8S clock starts lagging exactly by the amount caused by a plugin which induces latency.
This tells me that Ableton Live SYNC clock does NOT take plugin latency into the PDC effect/process itself - which effectively is resulting all of my external gear that is using their own sequencer - to be completely out of sync.
So long story short I was under the belief that I am doing something wrong and that it's impossible that in 2021 Ableton didn't figure this one out. Right?
Well no...
https://gumroad.com/l/qjpEU
This device is created solely for that purpose. To fix the Live SYNC clock in situation when latency plugins are being used and to make it work with Scenario 2. Where you want to use your own external gear which runs an internal sequencer and makes it tight with Ableton.
So this plugin exist solely and precisely because someone at Ableton decided to not include MIDI sync clock as a apart of the PDC calculation process.
Ok so I purchased a plugin but there's a big problem.
1. Plugin does not work on Windows computers (tested and troubleshooted the hell out of it). On Mac it works fine. On Windows it does not. No it's not the imp.midi package, it's not an occupied midi port either (I have a multiclient midi device which allows me to use a single port for more midi devices). To put it simply, it does not work on Windows.
2. That plugin does not save MIDI port configuration so every time you reopen Live you need to go thru assigning all ports inside of it - from the start.
So to put it simply - that plugin is partly finished and I don't intend to harass a nice developer to fix an issue which shouldn't be there in the first place.
I am finding it ridiculous seeing that this problem was reported since Live 9 (I see other forum posts with the same subject), Ableton did NOTHING to solve it. So we need to rely on 3rd party Max for Live devices which exist solely for this reason but they are partly working.
Please help me understand this.
Am I going mad, am I that ridiculous to expect that in 2021 Live application which is used to produce music in music studios and on live sets - clock to my external interfaces without me losing my mind about it?
I mean shouldn't this be inside Live to begin with? What were they thinking?
What is wrong with this? How are other people coping with this? Is there any other Max plugin which can be tried?