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 :
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.
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
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 :
- 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.
- 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 http://soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone http://www.facebook.com/alfonsosantimone
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
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 info@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 :
- 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.
- 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-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
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.santimone@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 info@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 :
- 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.
- 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-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
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 abreubacelar@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.santimone@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 info@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 :
- 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.
- 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-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
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.santimone@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 abreubacelar@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.santimone@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 info@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 :
- 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.
- 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-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
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
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 abreubacelar@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.santimone@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 abreubacelar@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.santimone@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 info@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 :
- 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.
- 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-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
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.santimone@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
- "Hard" retrigger. Quit the previous envelope and start the new one
- "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 abreubacelar@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.santimone@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 abreubacelar@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.santimone@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 info@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 :
- 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.
- 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-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
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone http://soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone http://www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres <porres@gmail.com mailto:porres@gmail.com> wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone <alfonso.santimone@gmail.com <mailto:alfonso.santimone@gmail.com>> escreveu: I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib. but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Thanks Hans! i'll take a look in the next days. a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
_______________________________________________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
Thanks again Hans for sharing this, it works just fine! Probably there's a little "error" and i wonder why it work fine anyway at least at a quick test. In the middle branch (the leftmost one of the pedal off case with the "bagoff const 0" message) after the [until] you took the reading index for "bagoff" array from the [+ 1] object. So this way the index goes from 1 to 128. Shouldn't the index come from the [f ] object in the counter so the index goes from 0 to 127? just curious. thanks a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 6:30 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks Hans! i'll take a look in the next days. a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
_______________________________________________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
Probably should cause a problem if a MIDI Note Number 0 is received.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 10:28 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks again Hans for sharing this, it works just fine! Probably there's a little "error" and i wonder why it work fine anyway at least at a quick test. In the middle branch (the leftmost one of the pedal off case with the "bagoff const 0" message) after the [until] you took the reading index for "bagoff" array from the [+ 1] object. So this way the index goes from 1 to 128. Shouldn't the index come from the [f ] object in the counter so the index goes from 0 to 127? just curious. thanks a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 6:30 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks Hans! i'll take a look in the next days. a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
_______________________________________________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
it seems like this is the kind of situation that [bag] was created for - if the incoming velocity is 0 when the sustain pedal is held, instead of sending that noteoff to the synth, add that note to the [bag] (like [64 1(). Then when the pedal is released [flush( the values from the [bag] and send them to a [pack f 0] before sending them to the destination. here's a little abstraction & help patch. -seb -----Original Message----- From: alfonso santimone alfonso.santimone@gmail.com To: pd-list@lists.iem.at pd-list@lists.iem.at Sent: Wed, Jan 6, 2021 3:23 pm Subject: Re: [PD] Polyphonic voice allocation and sustain pedal
Probably should cause a problem if a MIDI Note Number 0 is received. www.elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimonewww.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 10:28 PM alfonso santimone alfonso.santimone@gmail.com wrote:
Thanks again Hans for sharing this, it works just fine!Probably there's a little "error" and i wonder why it work fine anyway at least at a quick test.In the middle branch (the leftmost one of the pedal off case with the "bagoff const 0" message) after the [until] you took the reading index for "bagoff" array from the [+ 1] object.So this way the index goes from 1 to 128. Shouldn't the index come from the [f ] object in the counter so the index goes from 0 to 127?just curious.thanksa.
www.elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimonewww.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 6:30 PM alfonso santimone alfonso.santimone@gmail.com wrote:
Thanks Hans!i'll take a look in the next days.a. www.elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimonewww.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted. best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-) best! www.elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone alfonso.santimone@gmail.com escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
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
Thanks Sebastian. I'll check it out. best a. www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Thu, Jan 7, 2021 at 1:54 AM Sebastian Shader via Pd-list < pd-list@lists.iem.at> wrote:
it seems like this is the kind of situation that [bag] was created for - if the incoming velocity is 0 when the sustain pedal is held, instead of sending that noteoff to the synth, add that note to the [bag] (like [64 1(). Then when the pedal is released [flush( the values from the [bag] and send them to a [pack f 0] before sending them to the destination. here's a little abstraction & help patch.
-seb
-----Original Message----- From: alfonso santimone alfonso.santimone@gmail.com To: pd-list@lists.iem.at pd-list@lists.iem.at Sent: Wed, Jan 6, 2021 3:23 pm Subject: Re: [PD] Polyphonic voice allocation and sustain pedal
Probably should cause a problem if a MIDI Note Number 0 is received.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 10:28 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks again Hans for sharing this, it works just fine! Probably there's a little "error" and i wonder why it work fine anyway at least at a quick test. In the middle branch (the leftmost one of the pedal off case with the "bagoff const 0" message) after the [until] you took the reading index for "bagoff" array from the [+ 1] object. So this way the index goes from 1 to 128. Shouldn't the index come from the [f ] object in the counter so the index goes from 0 to 127? just curious. thanks a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 6:30 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks Hans! i'll take a look in the next days. a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
_______________________________________________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
Sebastian's one is surely a more compact solution and probably more efficient. But it doesn't deal with repeated notes, better said repeated MIDI notes with the same MIDI note number, as the Hans' one does. best
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Thu, Jan 7, 2021 at 12:31 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks Sebastian. I'll check it out. best a. www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Thu, Jan 7, 2021 at 1:54 AM Sebastian Shader via Pd-list < pd-list@lists.iem.at> wrote:
it seems like this is the kind of situation that [bag] was created for - if the incoming velocity is 0 when the sustain pedal is held, instead of sending that noteoff to the synth, add that note to the [bag] (like [64 1(). Then when the pedal is released [flush( the values from the [bag] and send them to a [pack f 0] before sending them to the destination. here's a little abstraction & help patch.
-seb
-----Original Message----- From: alfonso santimone alfonso.santimone@gmail.com To: pd-list@lists.iem.at pd-list@lists.iem.at Sent: Wed, Jan 6, 2021 3:23 pm Subject: Re: [PD] Polyphonic voice allocation and sustain pedal
Probably should cause a problem if a MIDI Note Number 0 is received.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 10:28 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks again Hans for sharing this, it works just fine! Probably there's a little "error" and i wonder why it work fine anyway at least at a quick test. In the middle branch (the leftmost one of the pedal off case with the "bagoff const 0" message) after the [until] you took the reading index for "bagoff" array from the [+ 1] object. So this way the index goes from 1 to 128. Shouldn't the index come from the [f ] object in the counter so the index goes from 0 to 127? just curious. thanks a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 6:30 PM alfonso santimone < alfonso.santimone@gmail.com> wrote:
Thanks Hans! i'll take a look in the next days. a.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Wed, Jan 6, 2021 at 9:11 AM info@hansroels.be info@hansroels.be wrote:
hello, Here is a vanilla patch simulating a sustain pedal. It stores the note-offs while the pedal is down and releases them when the pedal is lifted.
best, Hans
On 1/3/21 7:55 PM, alfonso santimone wrote:
Let's see...if any other Pure Data fellow will test your [else\voices] and [else\suspedal] externals i guess we can have more test cases and see what's going on. In the meantime i'll still try to find the simplest way to show my findings while testing this particular Else objects ;-)
best!
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Sun, Jan 3, 2021 at 7:42 PM Alexandre Torres Porres porres@gmail.com wrote:
Em dom., 3 de jan. de 2021 às 07:18, alfonso santimone < alfonso.santimone@gmail.com> escreveu:
I'm doing some experiment with [else/voices] and [else/suspedal] to. Alexandre Torres Porres is doing a very good work with Else lib.
but unfortunately I can't reproduce your bug and understand what you need :( I'll gladly work on a solution with that when the picture is clear ;)
_______________________________________________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
Sebastian's one is surely a more compact solution and probably more efficient. But it doesn't deal with repeated notes, better said repeated MIDI notes with the same MIDI note number, as the Hans' one does. best
Are you sure? Sebastian's solution is the one with [bag]? Without checking myself I thought that [bag] can deal with multiple copies of the same number being stored. And trying its helpfile shows it is so.
Probably i didn't explain it correctly. Bag does store all the notes on so when receive [ flush ( it sends out all the notes of. I.e when the sustain pedal is on and three [ 64 127 ( in a row are received no [ 64 0 ( are sent out before the new [ 64 127 ( arrives but they are sent out all together only when sustain turns off. This is conceptually the same way as [poly] works with voice allocation so that repeated notes with the same MIDI note number are treated without a specific system. So probably solving those voice allocation things with an array of 128 values (one for each possible midi note) is the only way to model the piano behavior with polyphony and the sustain pedal.
www.elgallorojorecords.bandcamp.com/ https://elgallorojorecords.bandcamp.com/ soundcloud.com/alfonsosantimone www.facebook.com/alfonsosantimone
On Thu, Jan 7, 2021 at 1:01 PM Peter P. peterparker@fastmail.com wrote:
- alfonso santimone alfonso.santimone@gmail.com [2021-01-07 12:53]:
Sebastian's one is surely a more compact solution and probably more efficient. But it doesn't deal with repeated notes, better said repeated MIDI notes with the same MIDI note number, as the Hans' one does. best
Are you sure? Sebastian's solution is the one with [bag]? Without checking myself I thought that [bag] can deal with multiple copies of the same number being stored. And trying its helpfile shows it is so.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list