Skip to main content

MIDI capabilities

Message support

MIDI messageOutputInput
Note On / Note OffYes, from MIDI instrumentsYes, live audition with velocity
Control ChangeYes, MCC, instrument volume, and All Notes OffIgnored
Program ChangeYes, instrument Program and MPCIgnored
Pitch BendYes, from PSL and LEGIgnored
Polyphonic AftertouchNoIgnored
Channel AftertouchNoIgnored
ClockYes when MIDI Sync is onIgnored
StartYes when MIDI Sync is onStarts Song transport
StopYes when MIDI Sync is onStops transport
ContinueNoStarts transport if stopped
Song Position Pointer / Song SelectNoIgnored
SysExNoNo

MIDI instrument behavior

Each MIDI instrument selects channel 1–16. When playback begins, it can send its configured Program Change and CC 7 volume. Phrase and Table commands add per-step control:

CommandMIDI behavior
VEL --bbSet following Note On velocity, limited to 007F
VOL aabbSend CC 7; bb is converted from 0–255 to MIDI 0–127 and aa is unused
MCC aabbSend CC aa with value bb; both are restricted to 7 bits on the wire
MPC --bbSend Program Change bb, restricted to 7 bits
MCH abcdAdd up to four scale-aware chord notes; a zero nibble omits that voice
PSL aabbLinear pitch-bend movement toward bb at speed aa
LEG aabbCurved pitch-bend movement toward bb at speed aa
RTG aabbRepeat the current MIDI note every bb ticks; aa is unused for MIDI
KIL --bbStop the active voice after bb ticks

When playback stops, NullPerator turns off its active MIDI notes and sends All Notes Off on the channels it used.

See Command reference for all commands, including commands implemented by Sample, SID, and OPAL instruments.

MIDI input behavior

Incoming channel numbers map directly to instrument slots 00–0F. Note On with velocity zero is treated as Note Off. Notes preview the instrument in the matching slot, so that slot must contain a sound-producing instrument.

MIDI input does not record notes into a Phrase. CC, Program Change, Pitch Bend, and Aftertouch currently have no live-control mapping. Incoming Clock also does not change tempo in version 0.1.

Platform connections

CapabilityNullPerator hardwareWebiOS
InputOne TRS MIDI INOne selected Web MIDI inputOne selected CoreMIDI input
OutputTRS MIDI OUTOne selected Web MIDI outputOne selected CoreMIDI output
Device choiceTRS is the functional routeSelect in the Web MIDI panel; keep the Device route non-OFFEnable MIDI and select endpoints in app settings
Bluetooth MIDIThrough an external interfaceWhen exposed by the browserPair from the app's Bluetooth MIDI screen
SysExUnsupportedUnsupportedUnsupported

The eight-voice input audition limit and the message behavior above are shared across all platforms.