No it doesn't. Nor do other music apps as far as I know.
You mean notation applications? Because if a sequencer neglected to calculate note length and send a note-off, I'm pretty sure the MIDI protocol would have collapsed years ago.
Notion sends Note Offs when you use custom rules.
... but it doesn't, actually. The key-switch action sends a note-on at exactly the same timestamp as the note to which it is prefixing (note-on-prefix). It is simply queued before the note, which, as far as my experience goes with software instruments, appears to work.
Here is the dump of the rules (note I commented out the explicit note-on, verlocity=0 (a.k.a., note-off)
- Code: Select all
<rule name="default-slur">
<if condition= "under-slur"/>
<if not-flag="slur-begin" />
<if flag="default"/>
<unset-flag name="default" />
<key-switch type="note-on-prefix" midi-pitch="26" velocity="1" />
<!-- <key-switch type="note-on-suffix" midi-pitch="26" velocity="0" /> -->
</rule>
<rule name="default-keyswitch">
<if flag="default"/>
<key-switch type="note-on-prefix" midi-pitch="24" velocity="1" />
<!-- <key-switch type="note-on-suffix" midi-pitch="24" velocity="0" /> -->
</rule>
The MIDI dump for 2 scored notes (G#2 no-slur, A2 slurred) is ...
- Code: Select all
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
000184B0 3 -- B0 0B 28 1 --- CC: Expression
000184B0 3 -- 90 18 01 1 C 1 Note On
000184B0 3 -- 90 2C 28 1 G# 2 Note On
00018991 3 -- 90 2C 00 1 G# 2 Note Off
00018991 3 -- B0 0B 28 1 --- CC: Expression
00018991 3 -- 90 1A 01 1 D 1 Note On
00018991 3 -- 90 2D 28 1 A 2 Note On
00018E73 3 -- 90 2D 00 1 A 2 Note Off
number of note-on = 4; number of note-off = 2 (ESC sends a bunch of reset events including CC all-notes-off)
In my opinion, the key-switch should immediately queue up a note-off, .e.g., 10 ticks after the note-on or, at the least, the next key-switch action should trigger a note-off of the previous key-switch.
You see, this does not control whether the note off happens, but rather, you gain control of where within the Note On and Note Off, that a key switch can be sent.
Does that make sense?
Makes perfect sense. So I imagine my hack of sending note-on, velocity=0 as a note-on-suffix is the only way to send a note-off for the key-switch itself.
I'm only interested because if I were to use this key-switch action mechanism to, say, control some hardware synthesizer, having these key-switch notes hanging would definitely grab up all the polyphony of the device.
thanks