MIDI timestamps


Is there any part of the VST3 spec that relates sample index with MIDI timestamps?

Generally: if a VST3 plugin is used in a live setup, MIDI notes should be played back ASAP, ignoring the timestamp. However, if a plugin is used for offline rendering, the timestamps could be beneficial.

Is there anything that the VST3 spec tries to do in that regard? For example, does it tell plugin host devs to align sample buffer offsets with MIDI timestamps such that plugins don’t have to calculate the MIDI offsets relative to the sample buffers themselves? Any input is welcome.


VST3 plugins don’t receive MIDI directly, the host converts to the Event type which is delivered in the process callback with a sampleOffset field that tells the plugin when to handle the event relative to the start of the buffer.

Interesting. The VST3 Plugin Test Host from Steinberg always gives me a stimestamp of 0 offset samples, whereas every full DAW seems to return non-zero offsets for MIDI notes coming from my external keyboard. So, apparently, DAWs try to create a consistent delay.