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 <danomat...@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-requ...@lists.iem.at wrote: > > Message: 2 > Date: Tue, 27 Sep 2022 17:42:15 +0200 > From: Lorenzo Sutton <lorenzofsut...@gmail.com> > To: pd-list@lists.iem.at > Subject: Re: [PD] MIDI / STATUS_BYTE / noteOn - noteOff mesage > Message-ID: <b3832427-9b6d-ea0e-3d34-82245176e...@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 <http://twitter.com/danomatika> > danomatika.com > robotcowboy.com > > > > _______________________________________________ > 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