In the screenshot you see the read out from a midi monitor.
One time the Keystep37.
And the other time the Digitakt.
The “note off message” from the digitakt contains a velocity value of 0 – Which according to midi implementation specs (as far as I know) should be 64.
This totally messes up for example if you try to sequence the Mother32 and use the assignable output for velocity because the note-off-message sets velocity to 0 and therefore kills the note before the release…
With the 64 standard value from Keystep37 it behaves as expected.
Is there a way to change this?
Is there a reason why it’s implemented like this?
NOTE-OFF
MIDI provides two roughly equivalent means of turning off a note (voice). A note may be turned off
either by sending a Note-Off message for the same note number and channel, or by sending a Note-On message for that note and channel with a velocity value of zero. The advantage to using “Note-On at zero velocity” is that it can avoid sending additional status bytes when Running Status is employed.
Due to this efficiency, sending Note-On messages with velocity values of zero is the most commonly used method. However, some keyboard instruments implement release velocity where a Note-Off code (8nH) accompanied by a “velocity off” byte is used. A receiver must be capable of recognizing either method of turning off a note, and should treat them identically.
I also read that a note-on-message with a velocity value of 0 should accepted aswell. However isn’t it a note-OFF-message with a velocity value of 0 from the digitakt?
Or is this how it would be displayed by the monitor?
I also think it’s fine, there are controllers with release velocity from 1-127 as well. So with a fast release the sound could end quicker if the synth has this functionality. Maybe the Moog has that. I will check my controllers and see how they behave.
The worst midi keyboard that I have regarding this issue is the MkB300 from Roland. It sends an All Note off as well (MIDI 123) which causes some synths to cut off all voices. I have to filter that with an iConnectivity MIDI interface.
I think the standard is fine, it is that some devices don’t interpret it right. As far as I know only Roland actually used that feature in the 80s and their synths (e.g. MKS models) understand the CC 123.