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]

On Sep 27, 2022, at 9:56 PM, pd-list-request@lists.iem.at wrote:

Message: 2
Date: Tue, 27 Sep 2022 17:42:15 +0200
From: Lorenzo Sutton <lorenzofsutton@gmail.com>
To: pd-list@lists.iem.at
Subject: Re: [PD] MIDI / STATUS_BYTE / noteOn - noteOff mesage
Message-ID: <b3832427-9b6d-ea0e-3d34-82245176e5ba@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hi,

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

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com