MPE Software Controller Apps
A list of MPE iOS apps than can be used to generate MPE Midi.
There are a number of iOS applications that can generate MPE Midi note and controller information. This wiki attempts to provide details of the MPE implementation of the various controllers. Please do provide any additions or corrections you may be aware of.
Note that pitch bend ranges should only be taken as sample values and may depend on other factors (settings, key range, screen size, …).
See also: MPE Instrument Apps wiki
Below you find detailed information about the following MPE controller apps:
AC Sabre
MPE mode
Controller movement defaults
- Pitch (up/down): cc74
- Roll (left/right): cc1.
- Shake: pitch bend.
X-Dimension
- pitch bend (shake)
Y-Dimension
- possibly velocity / pitch bend
On Note
- velocity=pad-location or gyro function
Off Note
- velocity=same-as-on-velocity
Comments
- use AC Central AU on iPad to connect in from iPhone
- the panic button '!' sends: cc123:127 to every channel.
Aftertouch
X-Dimension
pitch bend.
- relative X-movement in pad. Start at 8192.
- in-pad only: 6983-9457
Y-Dimension
cc74
- cc74: 0-127. Absolute Y-position in pad.
Z-Dimension
After touch
- with 3D-Touch: 0-127
- not available without 3D-Touch!
On Note
- velocity=taken from Z-Dimension (else fixed if no aftertouch).
Off Note
- velocity=0
Channels
- channel 1 global
- notes rotate through channel 2-16
Comments
- setup screen “Expression - General Parameters” - the settings selection menu is corrupted.
GeoShred
X-Dimension
pitch bend.
- relative X-movement in pad. Start at 8192.
- in-pad (auto-recenters) / pad-to-pad: 8021-8362
- min-max: 6144-10239
Y-Dimension
cc74 / (cc118 or after touch) / cc11.
- cc74: 0-127. Absolute Y-position in pad.
- in AU MPE / AU MPE Play mode: cc118: 0-127. Absolute Y-position in pad.
- in MPE Channel Mode: after touch: 0-127. Absolute Y-position in pad.
- cc11: 0-127. Absolute Y-position in pad.
Z-Dimension
?
On Note
- velocity=127
Off Note
- velocity=0
Channels
- Poly: channel 1 global. Channels with notes are recycled from channel 2 onwards.
- String: one channel (2 and up) per string.
- Mono: channel 2 only.
Comments
- AU MPE Play mode has more frequent messages than AU MPE mode (?)
- The init sequence when choosing MPE:
- to ch1: cc101:0, cc100:0, cc6:24, cc38:0.
- to ch2-16: cc101:0, cc100:0, cc6:48, cc38:0.
- to every channel: cc101:0, cc100:6, cc6:15, cc38:0
- to every channel: cc101:0, cc100:2, cc6:64, cc38:0
- to every channel: cc101:0, cc100:1, cc6:64, cc38:0
- =⇒ and repeat the above once.
KB-1
X-Dimension
pitch bend.
- must enable 'Glide' (Sensitivity=0.5)
- start at 'absolute position' on key!
- in-key: 8108-8281
- key-key: 8014-8367
- min-max: 3712-12399
Y-Dimension
cc74 (or other cc).
- must enable 'Slide' - cc74 (or can choose other cc). (Sensitivity=0.9)
- cc74: 0-127. Absolute position.
- select 'Send Aftertouch' to send as Dch pressure instead!
Z-Dimension
aftertouch.
- range 0-127
- must enable 'Pressure'
- sends Aftertouch with 3D-touch devices
- without 3D-touch sends 0 pressure!
On Note
- enable 'Vel': velocity=absolute Y-position: 0-127 (select 'invert' to send 127-0)
- Max(min) range can be restricted.
- velocity is 127 when not enabled.
Off Note
- velocity=0
Channels
- channel 1 global
- notes rotate through channel 2-16
Comments
- loading KB-1 sends on ch1: cc123:0
Mononoke Pads
X-Dimension
pitch bend.
- Relative X movement. Start at: 8192.
- in-pad: 8087-8351
- pad-pad: 7758-8602
- min-max: 3464-12986
Y-Dimension
cc74.
- cc74: 0-127. Relative Y movement: start at ~64.
Z-Dimension
?
On Note
- velocity=absolute Y-position: 0-127
Off Note
- velocity=absolute Y-position: 0-127
Channels
- channel 1 global
- notes rotate through channel 2-16
Comments
- pad ranges: 4x F#-2 to F#4, 4x F#-1 to F#5
- we are seeing 'errand' pitch bends on other channels after a note-on
- the MPE init button sends on ch1: cc100:6, cc101:0, cc6:15
Ribbons
X-Dimension
pitch bend
- relative X-movement in pad. Start at 8192.
- pad-pad: 8021-8362
- min-max: 5234-11143
Y-Dimension
cc74 and channel pressure.
- cc74: 0-127
- channel pressure: Dch pressure
Z-Dimension
channel pressure (if selected)
- 3D-Touch ⇒ channel pressure Dch pressure
- BUG: this is sent but pressure=0 !
On Note
- velocity=100 (how set?)
Off Note
- velocity=0
Comments
- (always?) starting / ending 5 identical notes on the same channel!
- when the touch crosses strings, will send pitchbend, cc74, channel pressure (but no notes) on other channels also.
- when you change the midi output to any destination other than ribbons, the audio automatically disables itself
Questions
- what controls the cc1:127 being sent?
- how to set pitch bend range?
Thumbjam
X-Dimension
“Y-Axis” across the narrow width of the pad.
- only for pan: can be assigned to cc10 (if 'send pan' enabled)
Y-Dimension
“X-Axis” across the long height of the pad. Definable, typical pitch bend, volume, velocity, etc.
- pitch bend (if 'send pitchbend' enabled)
- pitch bend starts at 8192. Relative movement
- in-pad: 7509-8875
- pressure 0-127 is defined from volume (derived from X-Axis or force)
- pressure: Dch 0-127 (if 'send chan pressure' enabled)
- Aftertouch note pressure: Ach note 0-127 (if 'send key pressure' enabled)
- sent as cc7 (if 'send volume' enabled)
- pan assignment possible
Z-Dimension
if 3D-Touch is available
- force=0-127 (3D-touch)
- can be assigned to On Note 'velocity'
- can be assigned to cc7 (if 'send volume' enabled)
On Note
- velocity=127 or, if selected, derived from 'X-Axis' or from 'force'
Off Note
- velocity=0
Channels
- must set Midi Control to 'Channel Per Touch'
- channel 1 global
- notes rotate through channel 2-16
Comments
- sends Reset ('FF') when lifting touch or changing instrument.
- additional assigment possibilities: V.Tilt to volume / pitchbend, H.Tilt to pan / pitchbend. Shake/Finger to Vibrato / Tremolo
Velocity Keyboard
X-Dimension
pitch bend.
- relative X-movement. Start at 8192.
- in-key: 8033-8322 (auto-recenters)
- key-key: 7821-8531
- min-max: 4282-12101 (14 columns)
Y-Dimension
?
Z-Dimension
cc1.
- corresponds to area of touch
- cc1: 0-127
On Note
- velocity= 'simulated velocity' derived from touch action, 0-127
Off Note
- velocity=0
Channels
- channel 1 global
- Setting 'MPE 3 - one channel per note': notes rotate through channel 2-16
- Setting 'MPE 4 - one channel per string': maps one channel 'per key row'
Comments
- selecting MPE setting sends: cc100:0, cc101:0, cc6:48 on each channel 1-16.