poly~ voice allocation and stuck notes - the old topic...
hey folks,
I've been developing a patch for a composer which has a lot of midi input together with sampler players and poly~ synths.
Although I'm programming max for quite some time now, handling stuck notes in poly synths is still an issue for me.
Whenever there is serious input (a lot of notes, like really a lot) stuck notes occur. In a lot of threads with this topic this link is posted: https://cycling74.com/tutorials/polyphonic-synthesizer-video-tutorial/
But even in that patch it's the same issue. If the att and decay times are a bit longer and you start sending a lot of midinotes some of them get stuck. It's obvious of course, that there are more notes than voices but isn't voice stealing activated to take care of that? Isn't that the whole point of that attribute?
I could actually live with some clicks now and then. Everything is better then stuck notes which are even out of reach for a panic button (note off everything).
maybe I'm totally on the wrong track and someone can clear this up for me?
I can't attach my subpatch because it's very complicated to pull it out of the whole patch.
thanks
Another thing that's driving me crazy since hours is an issue that i just can't track down.
Somehow a midinote message is not able to allocate properly if there is a chord of multiple notes (6 maximum) sent. With a delay between the notes it works absolutely fine, but as soon as the chord is hit really precise at the same time it allocates them to the same instance, leading to only one sounding note. I can't find any way to fix that because I have no idea what might be the cause for this behaviour....
It seems to be a timing/scheduling problem of midi events.
Make sure that 'Scheduler in Overdrive' is enabled (Options>DSP Status).
Overdrive is on. If I programm a delay between the notes of about 4-6ms it seems to work a bit better but still not perfect. That's not really a solution...
Apparently your patch can't handle a certain amount of midi events arriving at the "same" time. To investigate further you could try sending the midi input through [deferlow]. In theory this should ensure that all events are executed, but at the cost of perfect timing.
For anyone else reading this topic having the same problems as me: please note that poly~ voice allocation is broken under max 7.2.0
The Max 7.2.1 update is largely about fixing this. See the 7.2.1 release notes. May you be spared from wasting days of your like on this as I did.