poly, not polyphonic anymore

Nano59's icon
Max Patch
Copy patch and select New From Clipboard in Max.

hi, i made a synth patch or attempted to, and it worked ok and was polyphonic but when i tried to scale it up with more oscillators it stopped being polyphonic. Now I've scaled it back with fewer osc's and now its not polyphonic. I've probably missed something basic but i've been fiddling with it for ages. Heres the patch:

Poly object:

`

Max Patch
Copy patch and select New From Clipboard in Max.

sorry its messy. the main patch is better to look at in presentation mode.

cheers

Luke Hall's icon

Your patch is too massive for me to dive right in to but it is worth checking how you are muting instances with [thispoly~]. Have a look at Chris Muir's PollyWannaAllocate and Simple FM Synth examples which I found really useful.

Nano59's icon

I've been doing the same as I have always and put the velocity of a midi keyboard straight into the thispoly~ object. On my other patches it is the same and polyphonic.

ive also changed the number of voices a number of times and its not making any difference.

Chris Muir's icon

Your patch crashes Max for me, but, as Luke mentions, there doesn't seem to be a mechanism in place to mute thispoly~.

To debug this, I would hang print statements around until I understood what is going on with thispoly~ in this patch.

Timo Rozendal's icon

-first: clean up a patch before you post it
-second: I succeeded to make it polyphonic again, I was cleaning it up here and there and I saw that you didn't have a target 0 message, so your data was only arriving at the first voice (ok, apart from the midinote command), make sure the target 0 message is set before the other initialisation data arrives
-third: keep the order of your messages organized, trigger is your friend, think about what data is changing per note and realize that that data should have arrived before a note starts playing
-fourth: it doesn't make sense to restart your envelopes on every incoming note on a polyphonic synth (that is: for normal operation, it might be your take on polyphony, though I doubt that), it's better to store the list data per voice and bang it everytime a note comes in
-fifth: use more sends and receives (put --- in front of them if you plan to use them in a m4l device later on)
-sixth: check the adsr~ help patch how to use that object together with thispoly to set the mute and busy state of a particular voice

Nano59's icon

hi timo,

those tips are really handy thanks very much. I won't ever present such a messy patch again.

Thanks for trawling through it and helping me out :)