there are “plenty” of polyphonic aftertouch controllers on the market, some of the newer MPE hardware controllers use CC messages for this though. (https://www.midi.org/midi-articles/midi-polyphonic-expression-mpe). some of them also have release velocity. 
there are also quite some softsynths that handle release velocity (https://vital.audio  for a free example), so i would not exactly say this is that rare. and also it will get more common again i guess.



On 1 Oct 2022, at 15:36, Alexandre Torres Porres <porres@gmail.com> wrote:

Cool, but not a 'classic keyboard' controller. I don't know any modern one with release velocity, and also with polyphonic aftertouch (at least a decent/proper one that is not a pad and actually uses pressure after you press the note).
cheers

Em sex., 30 de set. de 2022 às 17:09, Peter Brinkmann <peter.brinkmann@googlemail.com> escreveu:
There's a new controller that uses Note Off velocity in an interesting way --- the Artinoise re.corder sends Note Off with nonzero velocity between slurred notes.

On Fri, Sep 30, 2022 at 9:30 AM Alexandre Torres Porres <porres@gmail.com> wrote:
Hi, the ELSE library has [else/note.in] and [else/note.out] which can handle proper note off messages. There's an object in cyclone (and also in MAX, of course) that can do that too, called [cyclone/xnotein] and [cyclone/xnoteout].

The use case of this is very rare as modern controllers don't really send note off messages anymore. I bought an old controller from the 80s that can do this, cause I'm a nerd and gear slut.

Note Off messages start with channel messages from 128 to 143 (128 being channel 1 up to 143 being channel 16) as Dan's test patch points out. You can use raw midi input from vanilla to listen to this and get the next two values which are MIDI note and release velocity. 

I would also like this to be available in vanilla, but, hey, well, there are the mentioned externals already and this is quite rare as I pointed out. If you need to do it as a pure vanilla application for whatever reason, you can create such abstraction with [midiin].

cheers

Em qui., 29 de set. de 2022 às 19:19, Dan Wilcox <danomatika@gmail.com> escreveu:
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


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list