MIDI timing is never perfect, and the reasons are worth knowing — because two of them are yours to fix and the rest are not.
What perfect would look like
In an ideal world every MIDI event arrives at exactly the moment it was written, with zero jitter. In practice a note passes through a controller's scan rate, a USB or DIN transmission, an operating system driver, Live's own processing, and then an instrument's response — and every stage adds a small, variable delay.
What Live controls
- Internal timing. Notes triggering internal instruments are sample-accurate. This part is solved.
- Recording. Incoming MIDI is timestamped as early as possible, so what you played is captured accurately even if the audio buffer is large.
- Delay compensation. Live aligns tracks with different device latencies automatically.
What Live does not control
- Your controller's scan rate. A cheap keyboard may scan its keybed 100 times a second, which is 10 ms of built-in uncertainty before the note has left the instrument.
- The MIDI transport. DIN MIDI is a serial protocol at 31,250 baud — about 1 ms per message. Play a ten-note chord and the last note is 10 ms behind the first, by design.
- External hardware's own response time. Some synths are simply slower to respond than others, and consistently so.
- Driver quality, which varies enormously between interfaces.
What to actually do
- Set a track delay. Every track has one, in milliseconds, positive or negative. Measure how late your hardware synth is and pull the track earlier by that amount. Once, permanently.
- Reduce the buffer while recording and raise it while mixing.
- Use a decent interface. This is the one place where hardware quality has a measurable effect on timing.
- Stop quantising everything to 100%. A lot of what people diagnose as a timing problem is a groove problem.
The summary from Ableton's own testing: Live's internal timing is not the weak link. The controller at one end and the hardware at the other usually are.