MPE Quickstart in Ableton

MPE stands for “MIDI Polyphonic Expression”.  It allows different notes played at the same time to have different performance data.  This is done using different channels for different MIDI notes and their control data.

Every VST implements MPE differently.  Therefore there is no way around reading the manual for any VST you want to use MPE.  Opening the manual/PDF and doing a text search for “MPE” will make this faster.

Setup in Live

  1. In the Live device, right-click and select “Enable MPE Mode”.  The device header should say “MPE” on the right side.
  2. In addition, some synthesizers need to explicitly have MPE enabled in their UI.  Refer to their manual.

Clip View -> Note Expression

Inside a clip you can access or edit MPE data in the “Note Expression” pane.

MPE is Three Controls… and sometimes more??.

MPE-compatible hardware devices transmit three streams of MIDI controller data when playing a note: 

horizontal, vertical, pressure

In Ableton these MIDI streams are most commonly used as:

  • Pitch Bend
    • Per-note pitch bend.
  • Pressure
    • Sometimes referred to as Channel Aftertouch, or Polyphonic Pressure.  Polyphonic Pressure has been around for decades, and isn’t truly new to MPE.
    • I’ve seen this referred to just as “Aftertouch” or even just “Touch” in VSTs.  This is confusing in an MPE context, because Aftertouch has been around for decades and is not polyphonic.  However, sending aftertouch to a single note that is on its own channel is effectively the same thing as “Polyphonic Pressure”.
  • Slide
    • It’s usually just another name for CC 74.
    • Not all MPE-capable synths explicitly have something called “Slide”.  They may call it “Timbre”, or they may just have other MIDI CC (not 74) that can be configured for per-channel usage.

Rather than assume specific function (e.g. Pitch Bend) for these three inputs, some synths refer to the three dimensions as “X, Y, Z” instead.

If the synth can do these three things for each voice, it is doing MPE.  Note that while this is the minimum, some synths can be configured to take “per-channel” input from additional MIDI CC numbers.

In addition to the “per-channel” controls noted above, VSTs/Devices might still accept “Global” CC on Channel 1 which modify the sound of all voices.  For instance Wavetable‘s MIDI modulation pane has ‘Mod’ (CC 1 = Modulation Wheel) on Channel 1 as a global which affects all voices. So sending CC 1 on any channel other than 1 has no impact on the sound, and sending CC 74 (which is “Slide”) on channel 1 has no impact, either.

IMPORTANT: Be aware that just because you can assign a specific CC as a modulation source in a synthesizer doesn’t mean the synth will understand that CC as MPE (“per-channel”) rather than Global, even if the synth is properly enabled for MPE.  The individual CC messages which can be understood as MPE must be configured in the synthesizer somewhere.  It is possible that in addition to Pitch Bend and Pressure, there is only one CC that can be used as MPE.

“Per-Note” or “Per-Channel”?

The basic principal of MPE is that each note is in its own channel.  So “Per-Note” and “Per-Channel” largely mean the same thing.  However…  

In some synths, the value for a control like “Slide” (CC = 74) will be set for that channel in a synth, rather than being tied to just that particular note-on/note-off message.  In that case the next note arriving on the same channel starts with the value that was last received for “Slide” on that channel, rather than zero.  This is truly “per-channel”, not “per-note”.  

For this reason, in AutoSlide, there is an option under “Merge” called “Zero” which always sends 0 out if no ramp is generated, so that a “per-channel” synth behaves like “per-note”.

Multi-Channel Mode

If you show MPE Channel Settings and select “Multi-channel”, then MIDI Channel 1 will be used as an additional voice channel rather than a global channel for CC data.  This makes it possible to have one more independent voice of polyphony but takes away the ability to share a CC value among all voices.

Again, refer to the manual of your VST to determine the optimal configuration.

Honestly, I’m slightly fuzzy on using this mode in Ableton with my VSTs, so I stick with the defaults!

Troubleshooting

  • Is the target Instrument MPE-enabled?
  • Are there any MIDI Effects or Max for Live devices in the data stream which are not MPE capable?
  • In the devices view MIDI monitoring dots, a blue dot at the bottom represents MPE data. If you don’t see a blue dot, MPE is not getting passed through.
The MIDI Monitor Max for Live Device is not MPE capable, and so MPE coming out of AutoSlide is not passed through.