Another interesting approach here https://synth-diy.org/pipermail/synth-diy/2014-June/044044.html
www.elgallorojorecords.bandcamp.com/ <https://elgallorojorecords.bandcamp.com/> soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone On Sun, Jan 3, 2021 at 12:01 PM alfonso santimone < alfonso.santim...@gmail.com> wrote: > Yeah, thanks José. > Is truly a good approach. > Another thing i've to think about is how to deal with envelopes > retriggering at the voice level. > If the same note is retriggered i guess the approaches can be > 1. "Hard" retrigger. Quit the previous envelope and start the new one > 2. "Not so hard" retrigger. Retrigger the new envelope starting from the > same value reached by the previous envelope. > 3. "Soft" retrigger. Make a very quick fade out of the previous envelope > while the new one is starting (but this mode should allocate a new voice so > the 128 sized array is no more useful) > > a. > > www.elgallorojorecords.bandcamp.com/ > <https://elgallorojorecords.bandcamp.com/> > soundcloud.com/alfonsosantimone > www.facebook.com/alfonsosantimone > > > On Sun, Jan 3, 2021 at 11:44 AM José de Abreu <abreubace...@gmail.com> > wrote: > >> i had supercollider in mind too, since clone makes it easier to have 128 >> voices around, and this example is something they do in SC tutorials >> (except the sustain pedal part, but i like this state approach) >> >> and not an overkill since switch~ will help, just a different pattern >> than relying on poly for tags, clone just works as unique tag per voice out >> of the box >> >> Em Dom, 3 de jan de 2021 07:16, alfonso santimone < >> alfonso.santim...@gmail.com> escreveu: >> >>> Thanks Jose', >>> i used a similar approach in SuperCollider with an array of size 128 for >>> all the possible midi notes. Probably I should build some abstractions to >>> deal with array scanning. And to limit the polyphony to given numbers use >>> another array of size 128 with voice numbers tags. I'll see. >>> I'm doing some experiment with [else/voices] and [else/suspedal] to. >>> Alexandre Torres Porres is doing a very good work with Else lib. >>> >>> On Sun, Jan 3, 2021, 01:35 José de Abreu <abreubace...@gmail.com> wrote: >>> >>>> maybe you can do it without poly at all >>>> >>>> you can clone an abstraction 128 times (and use switch~ to make sure >>>> the ones without trigger doesn't use your cpu) then voilá, you have one >>>> address per note in midi, if you want to retrigger you just... retrigger >>>> it, yay >>>> >>>> about sustain pedal, i would do this trick: i would create an array >>>> with 128 entries and use this: if i press a note, i give the array value 1 >>>> at that index, if note off value 0, BUT IF the sustain pedal is pressed >>>> instead of giving 0 at note off event, i would give it 2 and prevent the >>>> note to die, soo, when i release the pedal i check this array and all the >>>> notes that have state 2 will be released. The ones with state 1 i am still >>>> pressing so nothing to do. What do you think? >>>> >>>> about retriggering, if a note have state 2 and i do a note on, i >>>> retrigger it and give the state 1 again so sustain pedal doesn't release it >>>> afterwards >>>> >>>> this way you don't need poly and bag, but will need clone and a >>>> separate interface with arrays and untils to simulate the states of a note >>>> (0 for no sound and no press, 1 for pressing, 2 for not pressing but >>>> sustained by the pedal and ready to be released) >>>> >>>> Em Sáb, 2 de jan de 2021 14:41, alfonso santimone < >>>> alfonso.santim...@gmail.com> escreveu: >>>> >>>>> Thanks Christof! >>>>> I surely hope that your proposal will be heard. Those would be >>>>> essential additions to vanilla's [poly] for polyphonic instrument >>>>> building. >>>>> As for the [bag] object i tried but in the way i built the patch it >>>>> only works if the sustain pedal is pressed before note on arrives. I have >>>>> to find a way to make it work the same way when is pressed after a note >>>>> on. >>>>> The same note retriggering is another essential feature. >>>>> >>>>> >>>>> www.elgallorojorecords.bandcamp.com/ >>>>> <https://elgallorojorecords.bandcamp.com/> >>>>> soundcloud.com/alfonsosantimone >>>>> www.facebook.com/alfonsosantimone >>>>> >>>>> >>>>> On Sat, Jan 2, 2021 at 6:29 PM Christof Ressi <i...@christofressi.com> >>>>> wrote: >>>>> >>>>>> Not a direct answer to your question, but I've proposed a few >>>>>> additional features for the [poly] object, including a [sustain( message: >>>>>> https://github.com/pure-data/pure-data/pull/661 >>>>>> >>>>>> For implementing a sustain pedal in Pd vanilla, the [bag] object will >>>>>> probably help. Unfortunately, I don't have time at the moment to come up >>>>>> with a full solution. >>>>>> >>>>>> Christof >>>>>> On 02.01.2021 18:07, alfonso santimone wrote: >>>>>> >>>>>> Hi all, >>>>>> i'm trying to build a polyphonic voice allocation patch that include >>>>>> sustain pedal (MIDI CC(64) ). >>>>>> Is there any abstraction that i can look into? >>>>>> My problems are : >>>>>> >>>>>> 1. How to deal with [poly] when the same note number is received >>>>>> (i.e, three C4 in a row) >>>>>> [poly] always assign a new voice slot to the incoming notes. >>>>>> I'm trying to make it assign the same voice slot when the same note >>>>>> number is received consecutively. I guess that i should mess with some >>>>>> arrays keeping track of note numbers and voice slots. >>>>>> >>>>>> 2. How to deal with sustain pedal. >>>>>> In the "real" world as with keyboard instruments like piano, rhodes >>>>>> etc. the sustain pedal is used in different ways but the most common one >>>>>> is >>>>>> to press the pedal immediately after a chord or note is played and then >>>>>> release it when a new chord is played. >>>>>> It can be used in more "effect" oriented ways. >>>>>> Is there any patch or abstraction that i can look into? I guess i >>>>>> should use a combination of [stripnote] and arrays/table/list to keep >>>>>> track >>>>>> of the notes on and off events. >>>>>> How this can be integrated with a polyphonic voice management with >>>>>> stealing algorithm etc. etc.? >>>>>> >>>>>> thanks and all the best >>>>>> www.elgallorojorecords.bandcamp.com/ >>>>>> <https://elgallorojorecords.bandcamp.com/> >>>>>> soundcloud.com/alfonsosantimone >>>>>> www.facebook.com/alfonsosantimone >>>>>> >>>>>> _______________________________________________pd-l...@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 >>>>>> >>>>> _______________________________________________ >>>>> 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 >>> >>
_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list