Pd treats noteoff as a noteon with 0 velocity, hence the [stripnote] object, etc.
If you want to explicitly handle noteoff, you can look at the midi tester patch for working with raw bytes...
1. Help -> Browser...
2. Pure Data / 7.stuff / tools / miditester.pd
3. receive [pd channel messages]
Message: 2Date: Tue, 27 Sep 2022 17:42:15 +0200From: Lorenzo Sutton <lorenzofsutton@gmail.com>To: pd-list@lists.iem.atSubject: Re: [PD] MIDI / STATUS_BYTE / noteOn - noteOff mesageMessage-ID: <b3832427-9b6d-ea0e-3d34-82245176e5ba@gmail.com>Content-Type: text/plain; charset=UTF-8; format=flowedHi,On 26/09/2022 20:43, Maurin Donneaud wrote:Dear List
Looking at the MIDI 1.0 documentation :
https://www.midi.org/specifications-old/item/table-2-expanded-messages-list-status-bytes
I notice that the MIDI NOTES are transmitted over three bytes
??? byte 1 -> STATUS_BYTE [chan & function]
??? byte 2 -> DATA_BYTE [note] (0-127)
??? byte 3 -> DATA_BYTE [velocity] (0-127)
I'm wandering if Pd have a simple object to extract the noteOn / noteOff
message from the STATUS_BYTE.
I think you should be able with [midiin].Note that as per MIDI spec, 'note off' can be either an explicit 'note off' message also containing a 'release velocity' value or (more common) a note on with velocity equal to zero (for example this is how Pd does a note on/off if you use the [makenote] object.Lorenzo