MIDI notes too early

so that’s a 4.9ms round trip, midi in to vsti out (speakers) plus hidden buffers and .34ms per meter, ear from speaker.

Plus any delay from key press to midi note generated and any other hidden processing delays.

A 64th at 120 BPM is equivalent to 31.25ms given that most very good players play around 15-20 ms of a beat (when doing well) and add in the latency of say (for arguments sake of 10ms after factoring in estimates for unknown latencies) and the fact that changing your latency directly has a major influence on your reported midi timing. I think it figures that being within a 32nd is actually quite good!

It’s also interesting to note that as midi is a serial data stream, each midi event can only be transmitted one after another. It takes around 0.32ms per midi serial byte to be transmitted (best time) It would possibly be wise to make sure no controller info is being transmitted from the keyboard or other devices on a particular midi cable, such as aftertouch etc.