====== 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: [[https://wiki.audiob.us/mpe_instruments|MPE Instrument Apps wiki]] \\ Below you find detailed information about the following MPE controller apps: * [[#AC Sabre]] * [[#Aftertouch]] * [[#GeoShred]] * [[#KB-1]] * [[#Mononoke Pads]] * [[#Ribbons]] * [[#Thumbjam]] * [[#Velocity Keyboard]] ----- ==== 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 D//ch// //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: D//ch// //pressure// == Z-Dimension == channel pressure (if selected) * 3D-Touch => channel pressure D//ch// //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: D//ch// 0-127 (if 'send chan pressure' enabled) * Aftertouch note pressure: A//ch// //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. {{tag>mpe list}}