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.

ModeChannelCarries
MPE1Master channel (zone-wide messages)
2 - 7The six strings, lowest to highest - one channel per string
Multi-channel1 - 6The six strings, lowest to highest, each movable to any channel from 1 to 16
Poly aftertouch1Everything
Single channel1Everything
  • 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:

MessageMeaning
Note On / Note OffThe pluck and its release, with velocity from how fast you moved
Channel PressureThe 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 BendReset to centre before every Note On. MIDIpad does not bend pitch

On the two single-channel modes, channel 1 carries:

MessagePoly aftertouchSingle channel
Note On / Note OffEvery string's, with velocityEvery string's, with velocity
Poly Key PressureEach note's Energy, keyed to the note-
Channel Pressure-The loudest string's Energy
CC74 (timbre)The brightest string's BrightnessThe 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

DrumNoteGM instrument
Kick36Bass Drum 1
Snare38Acoustic Snare
Hi-hat42Closed Hi-Hat
Open hi-hat46Open 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:

ChannelCarries
1Master channel (zone-wide messages)
2Kick, with its slide and pressure
3Snare, with its slide and pressure
4Hi-hat and open hi-hat, with the hi-hat's pressure and slide
ControlDrumSends
Left stickHi-hatPressure
Left triggerHi-hatSlide (CC74) - how open
Right stickKickSlide and pressure, both
Right triggerSnareSlide 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.