MPE - MIDI Polyphonic Expression

Summary

  • MPE uses the standard MIDI protocol - all messages are regular pitch bend, note, aftertouch, and CC messages.
  • Wherever possible, every sounding note is assigned its own MIDI channel for the lifetime of that note, so channel-wide expression messages can be applied to each note individually.
  • Channel 1 (or 16 in Upper Zone) is reserved for global parameters that affect all notes, leaving 15 channels for individual notes.
  • By default, Pitch Bend is ±48 semitones for per-note bend and ±2 semitones for Master bend. Either range may be changed via RPN 0.
  • Aftertouch is sent using the Channel Pressure message.
  • A third dimension of per-note control is expressed via CC #74.

Three dimensions of expression

  1. X - Pitch Bend: transmitted via Pitch Bend messages.
  2. Y - Timbre: transmitted via CC74.
  3. Z - Aftertouch: transmitted via Channel Pressure messages.

Channel rotation

When you play a chord in MPE, every new note (with its own bend, timbre, pressure, and release) is sent on its own MIDI channel. Instead of pitch bend affecting all notes at once, MPE assigns a unique set of expression values to each note independently.

The MPE Zone defines which channel is the Master (global) channel:

  • Lower Zone: Channel 1 is the Master channel; Channels 2–16 carry per-note data.
  • Upper Zone: Channel 16 is the Master channel; Channels 1–15 carry per-note data.

Pitch Bend

The MPE default pitch bend range is ±48 semitones. This is much wider than the ±2 semitone default of standard MIDI keyboards. Both the controller and the synthesizer must be configured to the same range. See MIDI Pitch Bend for details on configuring sensitivity via RPN.

Using an MPE controller with a non-MPE synthesizer

An MPE controller can be used with non-MPE devices because all MPE messages are standard MIDI messages. However, they are spread across multiple channels, so all channels of the target device will be engaged simultaneously. Results vary by device.

MPE controllers

MPE controllers range from small to large:

LinnStrument configuration

MIDI Mode: ChPerNote
Left split:  Main Ch 1, Per-Note Chs 2-8
Right split: Main Ch 16, Per-Note Chs 9-15
Bend Range: 48 (MPE default) or 24 (custom)
Timbre/Y:   CC74
Loudness/Z: Chan Pres

With ±24 semitone bend range on a large LinnStrument, sliding across 24 columns uses the full pitch bend range. See MIDI Pitch Bend for the LinnStrument / Hydrasynth example.

Resources