MPE: MIDI Polyphonic Expression

There have been a few discussions about MPE: MIDI Polyphonic Expression which are spread across different Discourse topics so I thought it might be a good idea to bring them together here. (@jofemodo could you move the relevant messages from Zynth club topic to here?)

MPE is a mechanism to allow expressive control of MIDI instruments using a MIDI channel per note then allowing any MIDI CC to affect just that note. It round-robins the channels dynamically hence MIDI 1.0 allows maximum 16 note polyphony (16 MIDI channels available) on a single MIDI connection. (There may be ways to expand this by bonding MIDI connections but it could prove challenging to play expressively suing more than 16 simultaneous notes.)

One idea for MPE is to allow (new) physical interaction with electronic musical instruments, e.g. the LinnStrument allows control similar to a guitarist where you have access to 8 rows of notes (like strings) divided into semitones (or whatever) with background colours giving some registration guidance and ability to perform multiple dimensions of control; X/Y/Z axis.

Zynthian does not currently have specific MPE compatibility but may provide some MPE compatible configurations, e.g. Surge in Stage mode. It may be beneficial to add specific MPE configuration which might allow better interfacing and playability.


Great! I’m happy to see this topic as i just ordered my xmas gift, a Roli Blocks :star_struck:
and i hope to add MPE support as soon as i can start experimenting with it. My proposal is to add a new type of “MPE layer” that would ask for the number of channels of polyphony. It would work for most of engines, except:

  • setbfree
  • Aeolus
  • Pianoteq

It would use the already existing Master Channel for receiving the common MIDI CC messages and will resend them to the MPE channels. You could create a single MPE layer, but i don’t think this is a major limitation.

I would love to ear your opinions and suggestions …


1 Like

Dammit, I wish I had the time to join you all in this one, as this is a topic I have quite a lot of experience in, also programming custom layers on Roli products.

If there is a conversation on this topic happening elsewere in the forum, I would be delighted to be pointed in such direction.

I commented a while back in this post about MPE and roli, and this one about the midi router , but I have yet to think of a proper solution to the problem.

Indeed if vital brings a MPE synth that runs well on zynthian it might be really interesting to get the conversation on this topic a bit more developed into Issues and Feature requests

I am starting to play around with Surge which is in the LV2 synths. Just need to load up some MPE specific patches like Roger Linn (MPE) from the desktop version of Surge. I have a few Roli Blocks and Zynthian v4.0 to muck around with … experience thus far is that the Blocks plug and play but with differing results depending on the currently active Layer. I setup the Zynthian with a ZynSubAdd and Surge layer with both Roli Blocks and Korg nanoKeys Studio.

ZynSubAdd has 1 note polyphony, pressing more notes cuts off notes and has varied unpredictable effects and changes the filter cuttoff value when played with Roli Block in MPE mode. Works normally with Korg nanoKey Studio.

Surge behaves as you would expect with Roli Blocks in MPE and Korg nanoKey Studio.

So I guess that means MPE might just work out of the box if the Synth engine supports it … I think this is obviously going to depend a lot on every individual set up as I think MPE just round robins MIDI channels depending on polyphony (or the number of Riban’s fingers and toes which ever is lesser).

Some more investigation to be done when we get some specific MPE patch for Surge sorted out.

Yeah, that’s exactly my setup and my problem, please keep us up to what you can achieve.

As i mentioned somewhere else, having an option for midi channel selecction that says “MPE” and let’s you choose a device exclusively and disconnects it from the rest (this would make it work in multi-timbral mode)

I think this might be really hard based on the midi router’s inability to be “hand wired”, but i think it’s not a bad solution

This is the MPE full specification

Some expressive instruments available now or in the near future:

Actually - look here for a fuller list.

I hope to contribute to the MPE discussion when my Osmose arrives. Hopefully this year…

Yeah, i’m waiting on mine as well, kinda concerned with the lack of any updates the last month.