I work with Live 10 Suite and I use many hardware synthesizers in my setup. With more complex projects, the latency gets worse due to the higher buffer size required. I want to compensate that but I don't like the way ableton handles latency compensation. There are two features I know for this problem: Track-Delay and Hardware Compensation from the instrument External Hardware. But both features have the same flaw:
This statement is from the ableton help page about latency compensation: https://help.ableton.com/hc/en-us/articles/209072409
You can read more about that under:
Which elements in Live are not subject to delay compensation? 2
This is a problem for me. I use a lot of effects which are synced to the transport. So when I send midi notes to my synthesizer and set the track delay to -20ms, all such effects on the monitoring audio track will be out of sync by 20ms.
Let's talk about the device I have in mind:
I would like to have a device I can put on a midi channel and set a pre-shift time in between 0-100ms or so. This device should shift all notes on this track by that amount to the left. But only in the background! I want to be able to draw notes on the grid like normal. The pre-shifting should be done in the background and I will notice it only on playback, similar to how the groove files work. It should work in arranger and session view.
Keep in mind, when you shift all notes by hand and a note gets shifted to far to the lefts and is outside of the active midi clip, it will normaly not be played.
There is one scenario I'd like to point out: A note is on the first beat of the midi clip and I pre-shift all notes with the device. Now when I start the playback exactly at the start of this clip, this first note can't be played. For this we would introduce latency. So for me this is not a problem. BUT when I start the playback way before, this note should be played. The same in the session view. When I start a scene and a clip of this scene has a pre-shifted note at the start, this note don't need to be heard. But when the session is already playing and I launch the same clip way before it should be heard.
I hope you understand what I have in mind. Is this possible? I would like to hear if this can be done. If it's possible without introducing latency I am willing to pay for your work.