MPE and Poly~ voice allocation

Jacob Blaidd's icon

I'mcurrently stuck on a really frustrating issue using MPE. I'm taking MIDI input and parse/formatting it into MPEevent messages to be assigned to individual [Poly~] voices that can be individually modified prior to being reformatted back into a singular MPEevent message for output.

The problem is, all of the MPEevents are being sent to the same [Poly~] instance regardless of how I try and redirect things. I've tried using [Poly] to reallocate voice numbers away from the Master channel but so far this has yielded no success. I've trawled through forums, tried every possible configuration I can conceive of and still no luck.

I'm sure there's something that I've missed or misunderstood that's getting in the way and it's really getting to me.

Anyone got any experience with this that can lend some insight on what might be going wrong? I'm happy to provide more detail as needed, though I have to be cautious as this is work for a client so I can only share screenshots of the non-proprietary sections of the code.

Jacob Blaidd's icon

Because I'm not quite sure if this is where the issue lies. I'm aiming to modify the pitch bend values of individual notes using MPE before formatting them back together as a singular stream of output, which currently works on a monophonic level, but the moment a legato note is introduced the first played note bends in pitch according to the bend value of the new note.

Source Audio's icon

no patch - no help
but just a question - why would you need poly~
to modify MPE midi messages ?

Jacob Blaidd's icon

As I said, unfortunately I can't share a patch that's not mine to share, the work was passed on to me to improve and bug fix.

We're using poly~ to ensure that 10 fingers worth of MPE notation data are sent to 10 individual instances of a patcher that modifies the MPEevents based on the pitch of the input note. Each of which mark themselves as busy upon receiving a note, allowing for 10 different modifications of the MPEevent data prior to formatting it back into one data stream for output.

Jan M's icon

The help files of poly~ (tab MPE) and polymidiin should point you the way.

Source Audio's icon

As you don't explain relation between real midi input,
note routing to poly~ instances, what happens there,
and when MPE events really get created, it is not possible to help you.
If I understand correctly, you want to use normal midi input,
assign notes to poly~ voices and mod their pitch bend values, create MPE events
and send all of it out.

In simple way you would need poly 10 for 10 voices,
then use poly voice number to create MPE events, no need for poly~ at all.


Jacob Blaidd's icon

Ok cool, thanks for your input.

The poly~ usage was how the patch was built when it was passed on to me, so I'll try out your suggestion and see if it solves it. If not, I'm sure I'll find a way.