MPE - MIDI Polyphonic Expression

Note: work in progress. Page content incomplete.

Note: the content of this page needs to be reworked.

MPE Summary

  • MPE uses the MIDI standard.
  • All the messages from an MPE controller are regular pitch bend, note, aftertouch, and Control Change (CC) messages.
  • Wherever possible, every sounding note is assigned its own MIDI Channel for the lifetime of that note.
    • Channel-wide expression messages can be applied to each note individually.
  • Channel 1 is reserved for global parameters: parameters that will affect all notes.
    • This leaves 15 channels available.
    • That means that you could play 15 notes at once, all with their own string of data.
  • By default, Pitch Bend is set to of ±48 semitones for per-note bend and ±2 semitones for Master bend.
    • Either range may be changed to a number of semitones between 0 and ±96 using RPN 0.
  • Aftertouch is sent using the Channel Pressure message.
    • To preserve compatibility with existing MIDI devices, Polyphonic Key Pressure may be used with notes on the Master Channel, but not on other Channels.
  • A third dimension of per-note control may be expressed using MIDI CC #74.
  • A Registered Parameter Number (RPN) is used to set the range of Channels over which notes are sent and received.
    • The MIDI Channel space can be divided into sub-spaces called Zones, so that multi-timbral playing is still possible using only one MIDI cable.
    • Each Zone has a dedicated extra Channel, called the Master Channel, which conveys information common to all notes in that Zone, including pedal data and overall Pitch Bend.

Channel rotation

The clever secret is in channel rotation. For example, when you play a chord, every new note with its unique bend,
timbre, pressure, and (eventual) release is sent on its own MIDI channel. So instead of pitch bend affecting all notes,
MPE assigns a unique pitch bend, timbre, and pressure value to each note.

When a device is transmitting MIDI according to MPE, it will use a range of channels:

  • One channel (usually Channel 1) is used for global messages – data such as preset changes and pedal positions are transmitted on this channel to apply to all notes equally.
    • The global channel is set by the MPE Zone:
      • When the MPE Zone is the Lower Zone, Channel 1 is used for global messages.
      • When the MPE Zone is Upper Zone is, Channel 16 is used for global messages.
  • Note information is sent on channels with the range set by No. of MIDI Channel, by default 2–16.

Typical 3 dimensions defined with MPE:

  1. X : Pitch Bend transmitted with Pitch Bend messages.
  2. Y : Timbre transmitted with Control Change messages with controller number 74 (CC74).
  3. Z : Aftertouch transmitted with Channel Pressure messages.

MPE controller with non-MPE synth or DAW:

MPE-enabled controller can be used with non-MPE devices or DAW since all the MPE messages are regular MIDI messages. But they are spreads accrross all channels,
so all the device/DAW channels will be used.

Doc and resources

Pitch Bend

Pitch Range:

Allows you to specify the pitch range of your input device. If you glide from one pitch to another one, release the key, and press it again on the same position and pitch, the pitch range is set correctly.

Pitch Bend Range – allows you to match the pitch bend range of the software or hardware instrument your Block is controlling. By default the Pitch Bend Range is 48 to match the default pitch bend range of MPE synthesizers like Equator and Strobe2.

Example setups

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: 24
  • Timbre/Y: CC74
  • Loudness/Z: Chan Pres

With the above settings, a slide across 24 columns will use the full pitch bend range (8192).

Hydrasynth configuration

Set the Pitch Bend Range in the Page 2 of Voice Parameters.

LinnStrument with ASM Hydrasynth

To be documented...

LinnStrumentASM Hydrasynth
Pitch Bend24

Sensel Morph with ASM Hydrasynth

To be documented...

Sensel MorphASM Hydrasynth
Pitch Bend

LinnStrument with Equator synth plugin

To be documented...

Pitch Bend

Sensel Morph with Equator synth plugin

To be documented...

Sensel MorphEquator
Pitch Bend

LinnStrument with iOS Moog Model 15 app

To be documented...

LinnStrumentModel 15
Pitch Bend

Sensel Morph with iOS Moog Model 15 app

To be documented...

Sensel MorphModel 15
Pitch Bend

Sensel Morph

ASM Hydrasynth

Pitch Bend
This parameter enables the pitch bend wheel
to cover as much as a four-octave range: two
octaves up and two octaves down (+/- 24
semitones). You can set the range to a whole
step, or a musical fifth, or whatever you prefer.
The setting is saved when you save the patch.

Voice Parameters: page 2
Control knob Parameter Range Description
1 Pitch Bend 0-24 Positive/negative pitch bend range
in semitones

MPE Controllers

There are several MPE controllers available, ranging from something as small as ROLI’s Lightpad Block to something relatively humongous like the Continuum Fingerboard from Haken Audio. Additional robust, MPE-enabled keyboard controllers include the ROLI’s Seaboard series and the Osmose from Expressive E.

Some MPE controllers are designed to emulate the experience of playing common instruments, such as INSTRUMENT 1 from Artiphon and the Eigenharp by Eigenlabs. There are also grid-based controllers like the Linnstrument from Roger Linn Design, and those that don’t really fit into any of these categories, like the Touché from Expressive E, the Joué Board, or the Sensel Morph

© StudioCode - Made with 11ty and tailwindcss.