MIDI
Ultimately, the entire purpose of this application.
MIDIpad outputs on two virtual MIDI devices that're open the whole time the app is running:
- MIDIpad Chords - the strummed instrument. MPE by default, with three other configurations; the channel convention is below.
- MIDIpad Drums - the kit. Four General MIDI percussion notes, on one channel or one per drum with expression - see Drums below.
It sends notes and expression only, with no audio, clock or transport. There's also one input, MIDIpad in, which takes a MIDI clock, its Start and Stop, and the automation CCs listed in App settings - see Following your DAW's clock.
Chords
Chords channels in Settings → MIDI → Output picks one of four configurations.
| Mode | Channel | Carries |
|---|---|---|
| MPE | 1 | Master channel (zone-wide messages) |
| 2 - 7 | The six strings, lowest to highest - one channel per string | |
| Multi-channel | 1 - 6 | The six strings, lowest to highest, each movable to any channel from 1 to 16 |
| Poly aftertouch | 1 | Everything |
| Single channel | 1 | Everything |
- Merged. Treat all the channels as one instrument.
- MPE. Enable MPE on the receiving track or synth to get each string as an independent voice with its own expression.
- Channel-split. Six tracks, each filtered to one channel, one instrument per string, with per-string expression and no MPE support needed. Multi-channel is the mode built for this, and its String channels rows let you move any string to any channel; strings that share one arrive there as a single instrument.
MPE details
Under MPE, when the port opens (and whenever the setting returns to MPE), MIDIpad announces a standard MPE lower zone (MPE Configuration Message: RPN 6 on channel 1, seven member channels) followed by pitch-bend sensitivity (RPN 0): ±48 semitones on member channels, ±2 on the master. If your synth connected after the port opened and it's misreading bends, re-select the input or re-open the project, and it'll read the configuration again. The other three modes announce nothing.
Per-note messages
Under MPE and Multi-channel, each string's channel carries:
| Message | Meaning |
|---|---|
| Note On / Note Off | The pluck and its release, with velocity from how fast you moved |
| Channel Pressure | The string's live Energy - its ring level as it decays, and whatever a shake adds to it. Sent just before each Note On, so a new note arrives at its own level |
| CC74 (timbre) | The string's Brightness as an absolute value. It rests at 64 and rises from there |
| Pitch Bend | Reset to centre before every Note On. MIDIpad does not bend pitch |
On the two single-channel modes, channel 1 carries:
| Message | Poly aftertouch | Single channel |
|---|---|---|
| Note On / Note Off | Every string's, with velocity | Every string's, with velocity |
| Poly Key Pressure | Each note's Energy, keyed to the note | - |
| Channel Pressure | - | The loudest string's Energy |
| CC74 (timbre) | The brightest string's Brightness | The brightest string's Brightness |
| Pitch Bend | - | - |
CC74 here is absolute, and it doesn't park at 0. A patch that treats CC74 as an additive brightness offset will sound permanently half-open. Map it as a position, which is what an MPE synth expects anyway.
Drums
| Drum | Note | GM instrument |
|---|---|---|
| Kick | 36 | Bass Drum 1 |
| Snare | 38 | Acoustic Snare |
| Hi-hat | 42 | Closed Hi-Hat |
| Open hi-hat | 46 | Open Hi-Hat |
The face buttons and the right stick both play the kick's note, the d-pad and the backbeat both play the snare's, and every degree of hi-hat openness comes out on either the closed note or the open one.
Drums channels, in Settings → MIDI → Output, picks how they arrive - the same words as the Chords row, minus Poly aftertouch. MPE - the default - gives each drum its own channel behind a master, announces a three-member zone when the port opens (and whenever the setting returns to MPE), and sends how far you're pushing the control that plays it alongside the notes:
| Channel | Carries |
|---|---|
| 1 | Master channel (zone-wide messages) |
| 2 | Kick, with its slide and pressure |
| 3 | Snare, with its slide and pressure |
| 4 | Hi-hat and open hi-hat, with the hi-hat's pressure and slide |
| Control | Drum | Sends |
|---|---|---|
| Left stick | Hi-hat | Pressure |
| Left trigger | Hi-hat | Slide (CC74) - how open |
| Right stick | Kick | Slide and pressure, both |
| Right trigger | Snare | Slide and pressure, both |
Each is how far the control is past its rest, 0 to 127, for as long as you hold it. A drum with one control sends the same value as both.
Multi-channel is the same one-drum-per-channel layout without the master and with nothing announced: the kick on 1, the snare on 2, the hi-hats on 3, each with its slide and pressure. One track per channel, no MPE needed anywhere.
Single channel puts everything on channel 1, notes and velocity only.
On a Sony pad the touchpad is a crossfader on CC 16, channel 1 in every mode: 0 at the left edge to 127 at the right, absolute. A click jumps it to 0, 64 or 127 by thirds and holds it there until the finger lifts. See The crossfader.
The four notes can be moved. See Drum notes and channels.
Following your DAW's clock
The MIDIpad in port accepts a standard MIDI clock. While one is arriving, Drums locks to it, and the Tempo field in the header follows the clock instead of your own setting and says so. See Tempo and time signature.
Panic
On quit, and any time the output re-routes, MIDIpad releases everything it has sounding and follows it with All Notes Off on every channel it touched. Instrument → All Notes Off (⌘.) does the same on demand, across both ports. It also sends sustain off (CC64 at 0) on all sixteen channels of the Chords port when the port opens and on every panic, so a held sustain in a clip can't hang the strings.