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
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