MPE confusion max for live

benj3737's icon

Hello,
I'm trying to understand how to adapt my maxforlive midi devices for MPE. I have a simple device with a midiin object going into a midi parse object, then to a midi parse object, then into a midiformat object, then top a midiout object.

I have MPE mode enabled in the patcher inspector, but the midi parse and midi format devices seem to remove some of the pitch bend data.

If I have a midiin going straight to a midiout, then it works ok. This patch should show what I mean.

Does anyone have any insight? I'd like to be able to, say, filter out cc messages, but have the MPE pitch bends still go through.

Thank you!

Ben

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

double_UG's icon

perhaps you need "mpeparse" and "mpemidiformat"

benj3737's icon

Thanks for the info!
I guess I do. After some research, I'm still pretty confused.
If I want to pass all MPE data, except for for filtering out CC messages, what's a good way to approach it?
I understand using mpeparse to split the mpe data and remove CC messages.
What should go in between the mpeparse and the mpeformat objects? Do I need to have 16 midi format objects, and route each one into a different input on mpeformat?
Thanks
Ben

benj3737's icon

Following up on this. I'd really appreciate some help. I think I'm missing something obvious but can't get my head around MPE with Max for Live.

I have a Role Seaboard. I create a wavetable in Ableton and out this code in a Max Midi Effect before the wavetable.

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

If the toggle is set to 0, the midiin device is routed directly to midiout and everything works as expected.
If the toggle is set to 1, the midi data goes to an mpeparse object, then to a midi format, then out to midiout.
I send the 'voice number' outlet of mpeparse to set the channel on midi parse.
However, when I do this, pitchbend data gets truncated to semitones. I'd like to be able to glide between notes

an anyone see what I'm doing wrong? For what it's worth, I just want to pass the midi data through, except filter out the sustain pedal.

Thank you
Ben

benj3737's icon

I have to say I'm surprised nobody seems to be have a handle on this stuff. I'd think folks would be all over the idea of Manipulating MPE data from Live with Max.
I've gone pretty deep into the tutorials and the built-in devices, but can't seem to simply filter out cc's while retaining the rest of the mpe data.

Craig Latta's icon

I'll get there... I have some Lightpads I'm eager to play with, after I get this mixing console sorted.

Pau Roselló's icon

I'm encountering the same problem. Any solution?

benj3737's icon

MPE CC Blocker.amxd
amxd 45.65 KB

@pao rosella I think I got ahold of this. Here's a device I made that blocks specific ccs while respecting MPE dates. hope it helps!

Matt Beattie's icon

@Benj3737: I am hoping you're still around because you seem to be the only person I can find online who's tried something similar to what I'm looking to do with MPE: do you have any idea how I could get hold of separate per-note duration data (on/off for each MIDI in)? I have been able to do this monophonically with MIDI IN into 'borax', but do you think you can help me work out how to essentially get MPE/polyphonic Duration Output data? I would be so glad of your help!