2009/11/9 Athos Bacchiocchi <[email protected]> > 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. > > Hi Athos,
Since you want it to be monophonic, why don't you just force a note-off for the previous note, right before the note-on of the new note ? If you want rests inbetween the notes you could also use [pipe]---[pack f 0], and [flush( the [pipe] when a new note arrives, so that if the previous note had not finished yet, the scheduled note-off for it is sent early, before the new note-on... does that make sense ? (attached is an example) Tim 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 > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > >
makerandomnote.pd
Description: Binary data
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
