Logic puts MIDI late on grid? Buffer related?

Good afternoon,

A simple MIDI latency test in Logic 10.5.1 — Using my main keyboard (KAWAI digital), I’ve recorded its audio output alongside its matching MIDI output (just playing quarter notes along with a click). This lets me compare the onset of audio waveforms and MIDI notes.

I’m seeing delays (i.e., MIDI lags audio) that (i) grow with buffer size and (ii) get worse at lower sample rates. MIDI is placed late on the grid, and the delay gets worse as buffer size grows. (Any MIDI delays set to zero on the project, track, and region.)

Does Logic not compensate MIDI timing properly? Nothing in the physical setup is changing here, just the buffer size, so it seems… internal to Logic? Is it really the case that one has to watch MIDI timing and nudge it earlier, while attending to buffer sizes? Or does this outcome look wrong/unexpected?

Here are the delay results at 120 bpm (0.521 msec per tick). 96k and 192k fare much, much better. [Note: recording offset delays are sorted/considered at all sample rates]:

SampleRate/Buffer/DelayInTicks (0.521 msec):

44.1k / 32 / 6
44.1k / 128 / 11
44.1k / 256 / 19
96.0k / 32 / 2
96.0k / 128 / 4
96.0k / 256 / 6
192k / 32 / 1
192k / 128 / 1
192k / 256 / 5

Read more here: Source link