Why can’t Note-off Delay be Zero?
-
The lowest setting for [MIDI Mapping] => [Note-off delay] is 1ms. Wondering if there is a reason why it can’t be zero.
I'm running into an issue in legato situations where I change fingerings on the Sylphyo, but the "from" note and the "to" note are the same. This happens for me in situations where I am doing note translation – as for my harmonizer. The MIDI looks like this:
… with the [Note Off] occurring after the [Note On]. This causes many of my virtual instruments – the Turbo VL70, SWAM engines, etc. – to go silent indefinitely (i.e. until I change to another note that is not G4).
If [Note-off delay] could be 0ms, then the [Note Off] might occur before the [Note On]. Maybe?
I see no way to fix it at my end, other than a ReaJS script or some other gnarly solution that would probably introduce latency.
Any thoughts welcome!
-
@Clint Hmmm...This could definitely be a problem.
As a general rule, when you are playing legato, you want the note-on message for a new note to happen before the note-off message for the old note. For example, that is how a monosynth knows that it should not retrigger the envelopes when the pitch changes.
But if the old and new notes are the same, I think that the way MIDI is designed is that the note-on message has no effect (because the note is already on) and then the note-off message turns the note off.
That suggests to me that changing fingerings to yield the same note should either send note off, then note on, or should suppress both of them. If the Sylphyo does not already do that, then I think that behavior should be treated as a bug.
I suppose you could use something like a MIDI Solutions Event Processor to massage the MIDI stream. It would have to introduce some latency, but remember that 1ms of latency has about the same effect as moving one foot further away from the loudspeaker.
-
@ark said in Why can’t Note-off Delay be Zero?:
should be treated as a bug
Thanks @ark! I know understand the legato protocol better ... but I'd really hate to add a physical box to my rig and introduce latency just for this bug ...
Not sure if a bug fix at that low level is a possibility these day ... been quite a while since the last official firmware update ...