I would try and catch this before your [makenote] is triggered (assuming you're using [makenote]) Maybe something like this:

[random 127]
|
[t f f]   [r oldnote]
|     |   |
|     [!= ]
|      |
[spigot]
|
[t f f]
|     |
|     [s oldnote]
|
[makenote]

.mmb

Athos Bacchiocchi wrote:
 hi,

i'm working on a little project in which some notes with random pitches and duration appear at random time intervals. Each note is packed in a "midi" format (pitch and velocity), with a note-off event (pitch and zero velocity) sent after the note duration interval.

 it can happen that a new note is generated before the previous one has been stopped.That's not a trouble, since i  can handle it with [poly], eventually set to 1 voice and with voice stealing to force a "monophonic" melody.

The problem appears if the new note coming has the same pitch than the previous one. This is impossible for a "real" midi keyboard, in fact a key can be played again only after it has been released.
This leads to an undesired behaviour of [poly]: if there are more than 1 voice, i have the sum of different voices playing the same note, with an undesiderd increase of the volume. Even worse, when the voice is only one, the note-off message of the previous note stops the new note before its assigned time duration!

I tried to set up a strategy to avoid this, but with no results.  Any idea?

thanks,
athos

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