[1061] Missing MIDI-off interpretation / Double OnNoteOn messages
gladeare
VRChat version:
v2021.1.4[1061] / current / any after MIDI implementation
Description of the bug:
>>>The following bug is describing behaviour of worlds created without/before udon. Udon specific details are described further below<<<
MIDI note-on messages with a velocity of 0 should always be treated as a note-off, as par the MIDI spec: "A receiver must be capable of recognizing either method of turning off a note, and should treat them identically.".
Currently, only note-off messages are treated correctly. With the current "On Note On/On Note Off" separation in the SDK, note-on messages with a velocity of 0 must always be interpreted as note-off instead to comply with the MIDI spec.
Because of this bug, or maybe rather missing standardized element, many MIDI devices cannot be used correctly in VRChat, causing both the press and release of a key to be interpreted as "On Note On" in the SDK.
I put this here instead of SDK bugs as the error occurs within VRChat, however it may fit into SDK-bugs as well.
Steps to reproduce:
use any MIDI device that sends note-on messages with a velocity of 0 instead of note-off messages (e.g. in my case all keyboards by icon pro audio) in a world with MIDI features.
>>>Udon<<<
Udon now supports MIDI, which is cool, but here, a 0-velocity-note-on is still a note-on. While this is technically "correct" and can be manually set up to perform the desired behaviour, it would be greatly appreciated if these messages were directly translated to note-off messages to ensure MIDI-spec compliance, even for less experienced map makers.
If you do this, please do not forget to have the Note On: Velocity 0 message never reach the creator's control in its original state, otherwise people who do know to mind this peculiarity may experience additional errors.
Log In
R
Rainer Zufall
So true