Universal Controller MIDI

Advanced

MPE mode

MIDI Polyphonic Expression on a gamepad — per-note channels, per-finger pitch bend, and three-dimensional touchpad voicing. Real MPE, not a hack.

Updated

MPE mode turns the controller into a polyphonic expression surface where every note gets its own MIDI channel, its own pitch bend, its own pressure, and its own slide axis. ROLI, LinnStrument, Osmose — same protocol, gamepad form factor.

If you've only ever sent notes on a single channel, MPE is the upgrade that makes a DualSense feel like a real instrument.

Master ch1 global control member channels 2–16 ch2 — voice 1 ch3 — voice 2 ch4 — voice 3 ch5 — voice 4 ch6 — voice 5 ch7 — voice 6
MPE channel layout — master channel for global commands, member channels for per-voice expression.

The channel layout

MPE reserves channel 1 as the master channel (in 1-indexed UI terms; 0 on the wire). Notes are distributed across member channels 2 through 16 in round-robin. Pitch bend, channel pressure, and CC 74 (slide/timbre) are sent on the member channel of the voice that owns the note — never on master.

NoteOn  ch2 60 100    # finger 1 → middle C
PB      ch2 +213      # finger 1 bends up
CC74    ch2 64        # finger 1 slides
NoteOn  ch3 64 92     # finger 2 → E
PB      ch3 -41       # finger 2 bends down independently

MPE channel routing reference

The bridge ships with two MPE zone configurations — Lower Zone (default, used by ROLI/Equator) and Upper Zone (used by some Haken Continuum patches). Almost everyone wants Lower.

ZoneMaster chMember ch rangeVoicesUsed by
Lower (default)12–1615Equator2, Pigments, Surge XT, Cypher2
Lower (8-voice)12–98CPU-light setups, hardware MPE synths
Upper1615–2 (descending)14Some Continuum + EaganMatrix patches
Split (two zones)1 + 162–8 + 15–97 + 7Bass-on-left / lead-on-right rigs

Inputs that become voices

In MPE mode the touchpad goes multi-touch. Each contact gets its own member channel; X becomes pitch bend, Y becomes CC 74, contact pressure becomes channel pressure. Triggers can route into channel pressure too — squeeze LT for a swell on the finger holding the touchpad.

Sticks are single-voice but expressive: X axis → pitch bend, Y axis → CC 74, click → note on. Mix and match across both sticks for two simultaneous voices with independent vibrato.

Pitch bend range — the gotcha

MPE pitch bend defaults to ±48 semitones (4 octaves). Most synths default to ±2. If you load MPE mode and your bends sound microscopic, your synth isn't honoring the RPN. Equator, Pigments, Surge XT, Cypher2, Diva — these all auto-negotiate. Older soft synths need a manual change.

The negotiation happens via an RPN sent at mode-enable. The bridge fires this on every preset load — you'll see it in the MIDI log:

# MPE Configuration Message (MCM) — Lower Zone, 15 members
B0 64 06 B0 65 00 B0 06 0F     # RPN 6 = MPE zone size, value = 15

# Per-member pitch bend range RPN — ±48 semitones
B1 64 00 B1 65 00 B1 06 30 B1 26 00

Real-world scenarios

Where MPE on a gamepad earns its keep:

  1. Equator2 lead with bend. Right stick X = pitch, right trigger = velocity, touchpad pressure = filter cutoff. Three-axis-per-voice expression with one hand free for clip launch.
  2. Pigments pad with per-finger filter. Two touchpad fingers, each opening their own LP filter via CC 74. Same chord shape sounds different depending on which finger you press harder.
  3. Surge XT split rig. Lower zone bass on left stick, upper zone lead on right stick. Each zone has its own synth instance — true bimanual play.
  4. Live looping with MPE overdubs. Looper records per-channel data; the overdubs preserve per-voice expression because the channel info travels with the notes.

Pairs well with

The MPE on a gamepad blog post walks through Equator2 and Pigments setups end-to-end. For touchpad mapping basics see touchpad XY; for the two-finger split see two-finger touchpad mode.

MPE mode is a Pro feature.

Edit this page on GitHub Updated
ESC

Type to search.