Hi Ingo,

Thanks for the reply, [coll] and [poly] definitely look useful. However, I forget to mention I'm using Pd Vanilla :(

The information you provided is really helpful though, I'm thinking if I can try and replicate the functionality of [coll], maybe using tables or something similar. I tried a while ago but it ended up getting messy. 

If you can extract your method from your patch that'd be much appreciated. 

Thanks,
Joe

On 21 April 2011 13:36, Ingo <ingo@miamiwave.com> wrote:
I am using a [coll] object to store all notes being played and not yet
released. When the current note is released it recalls the last note that
was stored from the [coll] list by sending something like [end, bang( to
[coll].
You can play as many notes as you want and it will always go back to the
last note played.
When releasing a note (that may not even sound ATM) it gets erased from
[coll] by using [remove $1(. To separate note on / off I use [nroute 0 2].
Note priority in this case is "last" which is all I personally ever need. (I
suppose other priorities can be set by using some sorting options within
[coll].)

In order to avoid other notes cutting off the current note I find the
easiest (monophonic) solution is to add [poly 1 1] right before sound
generation. This sends a note off to the last note played before starting
the new one and avoids double note offs.

I am using this in a rather complex patch. I’ll see if I can extract just
this single part of it if you can't get it to work correctly. Although I
don’t think I’ll be able get to it until next week.

Ingo


________________________________________
Von: pd-list-bounces@iem.at [mailto:pd-list-bounces@iem.at] Im Auftrag von
Joe White
Gesendet: Donnerstag, 21. April 2011 13:48
An: pd-list@iem.at
Betreff: [PD] Midi note handling for monophonic synth

Hi all,

I'm implementing a synth in Pd using midi/notein as an input. 

One problem I keep coming up against is handling note off messages. This
guy's blog post describes the issue
http://kemptonmooney.com/2010/09/pure-data-midi-note-off-solution/

However, I think his solution is not exactly what I'm looking for. The
synths I use in Logic have note priority methods and remember all held down
notes (or at least 10). 

I wondering if anyone has managed to implement something like this in Pd or
might know where I can find out more about it. 

ddg.mono from Max
(http://www.cycling74.com/docs/max5/refpages/m4l-ref/ddg.mono.html) looks
similar to what I want - but I don't use Max and I don't think I can access
the source. 

Any ideas?

Thanks,
Joe