Is the MPESynthesiser Class "backwards compatible" for regular MIDI Devices?

As far as I can tell, the MPESynthesiser class is just the same as the Synthesiser class but with extra features to handle MPE:

I really find the MPE controllers fascinating. My synths are primarily for my own personal use. I’d like them to be able to work well with my regular MIDI controllers and also MPE controllers which I will be buying.

Is it then correct that I should be building in MPESynthesiser class, and just the MPE functions won’t work if I’m using a regular MIDI keyboard?

Would there be any disadvantage or handicap to using the MPESynthesiser class for everything and broad/future compatibility vs. the Synthesiser class?


For example I see here on MPE synth design:

When Equator receives MIDI according to MPE, it listens to Channel 1 only for global messages like the sustain pedal or the Seaboard RISE’s Touch Faders and XY Touchpad, and Equator listens to Channels 2–16 for notes and their accompanying expressive data.

So if you designed an MPE synth with the same approach, it would ignore the standard MIDI messages coming through channel 1. You’d have to set up your MIDI in some way to send the note data on Channels 2-16 and the sustain pedal on Channel 1.

Alternatively, could you implement a toggle in the design of an MPESynthesiser that tells it to switch between seeking note data all from Channel 1 (Legacy MIDI) and alternatively in the “Equator fashion” (MPE Mode)?

Seems plausible but I want to make sure before I bury myself down this pathway …

Ahh I think i just found the answer.

|void |enableLegacyMode (int pitchbendRange=2, Range< int > channelRange=Range< int >(1, 17))|
| |Puts the synthesiser into legacy mode. More…|

So yeah, should be easy and compatible, right? Just flick the switch …

If so, we should probably all be designing all synths in MPE mode to protect for the future?

IMHO it makes sense, yes. It is sometimes tricky in some hosts, on how separate channels are routed, but that’s where the legacy mode helps.

Did you find the MPE Masterclass from this year’s ADC?

Thanks daniel. I watched the video. It was very helpful to see how some of it works together. Definitely it seems pretty easily applicable and not too complex. The problems he covers in the video aren’t too hard to manage or work around.

A couple questions to clarify:

Let’s say I build my synth using the MPESynthesiser class. I then set up my multichannel friendly MIDI instruments (eg. MIDI guitars) to output each signal on channels 2-16. I can draw in individual channel bends, etc. inside my host. This can use the synth’s default MPE mode with no issues, same as a Roli device.

My regular MIDI instruments (eg. basic keyboard) would need everything on channel 1, so I can include in the synth a switch which enables Legacy Mode. I presume Legacy mode will just take everything on Channel 1 and apply it globally as one standard MIDI unit like with usual MIDI.

You said:

It is sometimes tricky in some hosts, on how separate channels are routed, but that’s where the legacy mode helps

Can you clarify what you mean by that or what other challenges one might encounter with this type of approach? Are you referencing some other challenges beyond the simple editing and overdubs ones covered in the video?


I haven’t written a MPE synth, so I am not an expert. But what I gathered (also the last question from the audience refers to that), that Ableton currently squashes all channels to a single channel for whatever reason. That would screw MPE up.

Yeah I used Ableton briefly and noticed that actually. It’s not a very good DAW in general in my opinion though I can see why people like it. It’s got so many built in tools that are handy with great presets so it could be very appealing. Plus it loads instruments directly to each track so you don’t need to juggle synth racks like in other DAWs as much. Some people might like the simplicity. It felt like a good program for just getting ideas down with no fuss.

I used to use Sonar til they went belly up which got cluttered by the end but had good function. I’ve switched to Cubase since and it seems to have good basic management and channel specific recording when you want it.

Is Bitwig the only DAW that doesn’t squash the Midi into a single channel. @Mikem. Thanks for asking this, I literally came to the forum to ask this question. Working on an MPE synth myself.

I don’t think so. The majority of hosts handle channels correctly. Angus and Dimitri in the video can explain it better. Skip towards the Q&A at the end, if you are in a hurry.

What I experienced is, that e.g. Logic squashes all ports together, but I think the channel information is handled correctly.

Thanks Daniel. Just wondering if you have any experience with what ProTools does?

That got me curious, so I plugged it together. And I got the fighting pitch bend messages, so it seems to me it doesn’t work out of the box.

I believe, there are some workarounds, like having individual tracks for each channel. But the setup is hideous…

My expertise is actually more in recording than in producing, so I hope somebody with more synth experience can chime in.

It doesn’t look good to me for ProTools. It’s not listed as compatible on the MPE support page:

@Daniel @mikem Thanks for checking that. Apologies, I changed my name. I thought it might be appropriate to participate using my company name rather than as an individual.