What is MPE?

MPE stands for "MIDI Polyphonic Expression" and is a new MIDI standard created by us, ROLI, Apple, Moog, Haken Audio, Bitwig and others for communicating over MIDI between MPE controllers (like LinnStrument, Roli Seaboard, Continuum, SoundPlane or Eigenharp) and MPE sound generators (like these).

The principal reason for MPE is to get around a limitation of MIDI: Pitch Bend and Control Change messages must apply to all notes on the channel. This prevents polyphonic pitch bends and polyphonic Y-axis control (which uses Control Change messages) over a single MIDI channel. MPE solves this problem by sending each note's messages on a separate MIDI channel, rotating through a defined block of channels. Here's a brief summary of MPE:

Each note's messages are sent over a unique MIDI channel, rotating through a defined contiguous block of channels called Per-Note channels. The per-note messages are limited to Note On, Note Off, Channel Pressure (for finger pressure), Pitch Bend (for X-axis movement) and CC74 (for Y-axis movement).  All other messages (like Program Change, CC7/volume, CC64/Sustain, etc.) apply to all voices and are sent over a separate "Common" channel, either channel 1 or 16. If 1, the per-note channels are 2-16. If 16, the per-note channels are 1-15. Or a split MPE keyboard could, for example, send the left split over Common Channel 1 and per-note channels 2-8, and the right split over Common Channel 16 with per-note channels 9-15. You can choose how many per-note channels are allocated to each split.

Note that most MPE-compatible MPE synths do not implement a Common channel, instead applying all received messages other than the above five per-note messages, regardless of the channel on which they are received, as Common and therefore applying to all notes.

In LinnStrument, MPE is called "Channel Per Note" mode, and the Common channel is called the "Main" channel.