Reference Manual

585 MIDI Fact Sheet
2. If you are using playthrough while recording, you will want to record what you hear
even if, because of latency, this occurs slightly later than what you play.
Live addresses the problems inherent in recording, playback and playthrough so that MIDI tim-
ing will be responsive, accurate and consistently reliable. In order to record incoming events to
the correct positions in the timeline of a Live Set, Live needs to know exactly when those events
were received from the MIDI keyboard. But Live cannot receive them directly — they must first be
processed by the MIDI interfaces drivers and the operating system. To solve this problem, the
interface drivers give each MIDI event a timestamp as they receive it, and those are passed to
Live along with the event so that Live knows exactly when the events should be added to the clip.
During playthrough, a DAW must constantly deal with events that should be heard as soon as
possible, but which inevitably occurred in the past due to inherent latency and system delays. So
a choice must be made: should events be played at the moment they are received (which can re-
sult in jitter if that moment happens to occur when the system is busy) or should they be delayed
(which adds latency)? Ableton‘s choice is to add latency, as we believe that it is easier for users
to adjust to consistent latency than to random jitter.
When monitoring is enabled during recording, Live adds an additional delay to the timestamp of
the event based on the buffer size of your audio hardware. This added latency makes it possible
to record events to the clip at the time you hear them — not the time you play them.
For playback of hardware devices, Live also generates timestamps that it attempts to communi-
cate to the MIDI interface drivers for scheduling of outgoing MIDI events. Windows MME driv-
ers cannot process timestamps, however, and for devices that use these drivers, Live schedules
outgoing events internally.
Even during high system loads that cause audio dropouts, Live will continue to receive incom-
ing MIDI events. In the event of audio dropouts, there may be timing errors and audio distortion
during playthrough, but Live should still correctly record MIDI events into clips. Later, when the
system has recovered from the dropouts, playback of these recorded events should be accurate.
34.4 Variables Outside of Live’s Control
In general, timestamps are an extremely reliable mechanism for dealing with MIDI event timing.
But timestamps are only applicable to data within the computer itself. MIDI data outside of the
computer can make no use of this information, and so timing information coming from or going
to external hardware is processed by the hardware as soon as it arrives, rather than according