Hi Steve, thank you for responding so quickly! If I understand it correctly, the higher 7 bits of the velocity need to go into the note-on message, and the lower 7 bits need to be sent in cc88 just before the note-on event. Here are the specifications I found online:
CC #88 High Resolution Velocity Prefix (CA-031)
Source: AMEI MIDI 1.0 Board
Defines MIDI Continuous Controller 88 (58H) as High Resolution Velocity Prefix to the subsequent Note On / Note Off message.
Background & Purpose:
High Resolution Velocity Prefix is intended to improve Note On/Off Velocity resolution while keeping compatibility with older instruments. High Resolution Velocity Prefix is intended to be used when 7-bit Note On / Note Off velocity resolution is not enough. In conjunction with this message, 14-bit resolution can be achieved.
This message is not intended as a substitute for any future data-resolution extension of MIDI.
HIGH-RESOLUTION VELOCITY PREFIX
Bn 58 vv
vv = lower 7 bits affixed to the subsequent Note On / Note Off velocity
The velocity byte in the subsequent Note On / Note Off message represents the higher 7 bits of the velocity.
A single High Resolution Velocity Prefix message only affects the next Note On or Note Off received on the matching channel. There may be other MIDI messages in between the High Resolution Velocity Prefix message and the subsequent Note On or Note Off message. After the standard Note On or Note Off message has been
parsed, the lower 7 bits of the receiver’s 14-bit velocity register should be cleared.
In order to maintain compatibility with the Note On Running Status shortcut (9n kk 00 acts as Note Off), the smallest possible 14-bit Note On velocity shall be 0080H. The least significant bit of the upper 7-bit message is set to 1, the same as the standard softest Note On message. The largest 14-bit velocity shall be 3FFFH. Hence, the entire Note On velocity range consists of 16,256 steps. If 9n kk 00 is received, that still qualifies as a valid Note Off, and the preceding Bn 58 xx has no effect.
If the receiver does not recognize this message, it will just ignore the message and accept only higher 7 bits of the standard Note On and Note off messages.
Thanks a lot, Sebastian