MIDI
Two ports out, one clock in
MIDIpad advertises two virtual MIDI outputs, open whenever the app is running:
- MIDIpad Chords - the strummed instrument. MPE-capable; the channel convention below.
- MIDIpad Drums - the kit. General MIDI percussion on channel 10 by default, and freely remappable with a licence.
It sends notes and expression; it never sends audio, clock, or transport. MIDIpad's own sound is separate from all of this and never affects what leaves a port - see Sound and MIDI. There's also one input, MIDIpad in, which listens for a MIDI clock - see Following your DAW's clock. Your DAW is always the master of time.
Chords: the channel convention
| Channel | Carries |
|---|---|
| 1 | Master channel (zone-wide messages) |
| 2 - 7 | The six strings, lowest to highest - one channel per string |
Strings are one voice each, so the mapping is fixed: channel 2 is always the low string. This one stream can be consumed three ways:
- Merged - treat all channels as one instrument. The simplest routing.
- MPE - enable MPE on the receiving track/synth and each string becomes an independent voice with per-note expression.
- Channel-split - six tracks, each filtered to one of channels 2-7, one instrument per string. Per-string expression without needing MPE support anywhere.
In single-channel mode (and in Demo Mode) everything is sent on channel 1 as plain notes with velocity; the expression streams below are suppressed.
MPE details
On opening the port, MIDIpad announces a standard MPE lower zone (MPE Configuration Message: RPN 6 on channel 1, six member channels) followed by pitch-bend sensitivity (RPN 0): ±48 semitones on member channels, ±2 on the master. If your synth was connected after the port opened and misreads bends, re-selecting the input (or re-opening the project) lets it re-read the configuration.
Per-note messages
Each string's member channel carries:
| Message | Meaning |
|---|---|
| Note On / Note Off | The pluck and its release, with velocity from gesture speed |
| Channel Pressure | The string's live Energy - its ring level as it decays, and what a shake or the plant adds to it. Sent before the Note On that opens a string, so a note never arrives on its predecessor's tail |
| CC74 (timbre) | The string's brightness - its Agitation - sent as an absolute value. By default it rests at 64 and rises as the string is agitated. The CC, the ceiling and the resting convention are all configurable in the Expression settings |
| Pitch Bend | Re-centred immediately before every Note On, and left there. MIDIpad has no live bend source - nothing you play moves pitch away from centre |
CC74 here is absolute, not a relative offset, and it does not park at 0. A receiving patch that treats CC74 as an additive brightness offset will sound permanently half-open. Map it as a position, the way an MPE synth expects.
Drums: General MIDI on channel 10
Out of the box, everything on the Drums port is sent on channel 10 with standard GM percussion notes, so any GM-mapped drum kit works unconfigured:
| Control | Note | GM instrument |
|---|---|---|
| Bottom face button, and the kick stream | 36 | Bass Drum 1 |
| Left face button, and the backbeat | 38 | Acoustic Snare |
| Top face button, and the timekeeper | 42 | Closed Hi-Hat |
| Right face button | 46 | Open Hi-Hat |
The d-pad has no note of its own: it plays figures on the timekeeper's line, so what it sends is the timekeeper's note. The snare roll on the right trigger sends the backbeat's note the same way.
Velocity carries the accents; there is no MPE and no expression stream on this port.
With a licence, every one of these controls can be moved to any note on any channel, or set to None to send nothing at all. See Kits and voice mapping.
Following your DAW's clock
The MIDIpad in port accepts a standard MIDI clock. While one is arriving, the Drums instrument locks to it: the Tempo control in the control bar follows the clock instead of your own setting, and says so. MIDIpad never generates clock or transport of its own. See Tempo and clock.
Note-off discipline
Every Note Off exactly matches its Note On (same note number, same channel) regardless of what changed in between: chord, palette, key, or settings. On quit, and whenever the output re-routes, MIDIpad releases everything it has sounding and follows with All Notes Off per used channel. Instrument → All Notes Off (⌘.) does the same on demand, across both ports and MIDIpad's own sound at once, as a panic for everything downstream.
In single-channel mode the panic is forwarded whole rather than folded, so a collapsed output can't be left ringing.