Reference

Glossary

Spec: MIDI Association specifications

Short, plain-language definitions of the words you'll meet in MIDI specs, manuals, and forum threads. Each entry links to the page that covers it in depth.

0–9

14-bit controller
A controller value split across two Control Change messages, an MSB on CC 0–31 and an LSB on CC 32–63, giving 16,384 steps. See 14-bit pairs.

A

Active Sensing
System real-time message FE. Once a receiver has seen one, it expects another at least every 300 ms and silences its voices if the stream stops. See Timing.
Aftertouch
Pressure applied to keys after they are down. Channel pressure (Dn) sends one value for the whole channel; polyphonic key pressure (An) sends one per note.
AMEI
Association of Musical Electronics Industry, the Japanese body that co-develops and co-publishes the MIDI specifications with the MIDI Association. It grew out of the Japan MIDI Standards Committee (JMSC).

B

Bank Select
CC 0 (MSB) and CC 32 (LSB), sent before a Program Change to reach more than 128 sounds. The new bank takes effect on the next Program Change. See GM2 banks.
Basic channel
The channel on which a device receives channel mode messages (Omni, Mono, Poly). In Mono mode, the device uses consecutive channels starting from it.
BLE-MIDI
MIDI over Bluetooth Low Energy. Messages travel in GATT notifications with a header byte and 13-bit millisecond timestamps. See Transports.

C

Channel
One of 16 logical streams on a MIDI 1.0 connection, carried in the low nibble of a channel message status byte. People count channels 1–16; the nibble holds 0–F. See Channels.
Channel mode message
Control Change numbers 120–127, which set receiver state rather than a sound parameter: All Sound Off, Reset All Controllers, Local Control, All Notes Off, and the Omni/Mono/Poly switches. See Channel mode.
Channel voice message
A message that controls sound on one channel: Note Off/On, Poly Pressure, Control Change, Program Change, Channel Pressure, and Pitch Bend. See Channel voice.
Control Change (CC)
Status Bn followed by a controller number and a value. Used for knobs, pedals, volume, pan, and many other parameters. See Control Change.

D

Daisy chain
Connecting devices in series, MIDI OUT or THRU to the next device's IN. Each opto-isolated hop adds a little edge distortion, so long chains can become unreliable.
Data byte
A byte with bit 7 clear (00–7F) that carries a value for the preceding status byte. See Status and data bytes.
Delta time
In a Standard MIDI File, the number of ticks between one event and the previous one in the same track, stored as a variable-length quantity. See Track chunks.
DIN
The 5-pin, 180° circular connector used for classic MIDI. A current loop runs over pins 4 and 5, and pin 2 is the shield. See 5-pin DIN.
Division
The timing field in a Standard MIDI File header. It is either ticks per quarter note or an SMPTE frame rate with ticks per frame. See Division.
Drop frame
The 29.97 fps timecode format that skips frame numbers 0 and 1 at the start of each minute, except every tenth minute, so the timecode stays aligned with wall-clock time. See Drop frame.

E

Endpoint
In MIDI 2.0, a device or application that exchanges Universal MIDI Packets in both directions. Its name, protocol, and Function Blocks can be discovered with UMP Stream messages. See UMP Stream.
EOX
End of Exclusive, status byte F7, which terminates a System Exclusive message. Any other non-real-time status byte also ends SysEx.

F

Function Block
A MIDI 2.0 description of a functional part of an Endpoint, such as a synth engine, and the UMP Groups it uses. Hosts use Function Blocks to name and route ports.

G

General MIDI (GM)
A 1991 specification that standardizes 128 program sounds, a percussion key map on channel 10, and minimum polyphony and controller support, so files play back recognizably on any GM device. See General MIDI.
GM2
General MIDI Level 2 (1999). It extends GM with bank-selected variation sounds, more drum kits, more controllers and RPNs, and Universal SysEx for effects and tuning. See Extensions.
Group
In the Universal MIDI Packet, a 4-bit field that selects one of 16 groups, each with its own 16 channels, giving 256 channels per UMP Endpoint. See UMP.
GS
Roland's extension of General MIDI, introduced with the Sound Canvas line. It adds variation banks, drum kits, and SysEx-addressable parameters. See Extensions.

I

IAC Driver
The Inter-Application Communication driver in macOS. It provides virtual MIDI buses for routing MIDI between applications.
Identity Request
The Universal Non-Real Time SysEx message F0 7E <dev> 06 01 F7. Devices answer with their manufacturer, family, model, and version. See Identity.
Interface (MIDI interface)
Hardware that connects a computer to DIN MIDI ports, usually over USB. Multi-port interfaces expose several independent 16-channel ports.

J

JR Timestamp
Jitter Reduction timestamp: a UMP Utility message that records when a message was sent, so a receiver can rebuild the original timing despite transport jitter. See JR timestamps.

L

Local Control
CC 122. Local Off disconnects an instrument's keyboard from its own sound engine, so a sequencer can echo the notes back without doubling them.
LSB / MSB
Least and most significant byte. MIDI splits values wider than 7 bits into a 7-bit MSB and a 7-bit LSB; pitch bend sends the LSB first.

M

Manufacturer ID
The first byte(s) after F0 in a SysEx message, identifying who defined the rest. IDs are one byte (01–7C) or three bytes beginning with 00. See Manufacturer IDs.
Merge
Combining two or more MIDI streams into one. A merger must interleave complete messages and must not split SysEx, which may require buffering.
Meta event
A Standard MIDI File event, FF type length data, that carries file-only information such as tempo, time signature, track name, and End of Track. It is never sent over a MIDI cable. See Meta events.
MIDI 1.0 Protocol
The original byte-stream message format from 1983: 7-bit data values, 16 channels per port, and status bytes with bit 7 set.
MIDI 2.0
The 2020 extension of MIDI. It adds the Universal MIDI Packet, higher-resolution messages, per-note controllers, and bidirectional capability negotiation, while staying compatible with MIDI 1.0. See MIDI 2.0 & UMP.
MIDI Association
The global organization, formerly the MIDI Manufacturers Association (MMA), that publishes MIDI specifications together with AMEI. Specifications are free to download from midi.org.
MIDI beat
A sixteenth note, equal to six MIDI clocks. Song Position Pointer counts in MIDI beats. See Song Position Pointer.
MIDI clock
System real-time message F8, sent 24 times per quarter note, which a follower can use to track the leader's tempo. See MIDI clock.
MIDI-CI
MIDI Capability Inquiry: Universal SysEx messages for discovery, Profile Configuration, Property Exchange, and Process Inquiry between two devices. See MIDI-CI.
MMA
MIDI Manufacturers Association, the US standards body for MIDI. It now operates as the MIDI Association.
Mono mode
Channel mode (CC 126) in which each channel plays one note at a time. Used by guitar controllers, and the basis for one-note-per-channel schemes such as MPE.
MPE
MIDI Polyphonic Expression. Each sounding note gets its own channel, so pitch bend, pressure, and CC 74 can be applied per note. See MPE.
MTC
MIDI Time Code: SMPTE hours, minutes, seconds, and frames sent as eight quarter-frame messages (F1) or as a SysEx full frame. See MIDI Time Code.
MUID
MIDI Unique Identifier, a random 28-bit number that a MIDI-CI device picks to address and identify itself in CI messages. See MUID.
Multitimbral
Able to play different sounds on different channels at the same time. A 16-part multitimbral synth can be a whole band on one port.

N

Note number
The 7-bit pitch value (0–127) in note messages. Note 60 is middle C and note 69 is A440. See Note numbers.
NRPN
Non-Registered Parameter Number: CC 99 (MSB) and CC 98 (LSB) select a manufacturer-defined parameter, which Data Entry then sets. See RPN & NRPN.
Null RPN
Selecting RPN 127/127 (7F 7F), which deselects any parameter so a stray Data Entry message has no effect. See Null RPN.

O

Omni mode
A receive mode in which a device responds to channel messages on all 16 channels. Omni On is CC 125 and Omni Off is CC 124.
Opto-isolator
The optocoupler at every DIN MIDI IN. It electrically separates devices, which prevents ground loops. See Electrical.

P

Patch
An informal word for a stored sound or preset, selected with Program Change. The name comes from patch cables on modular synths.
Per-note controller
A MIDI 2.0 message that changes a controller for a single note, rather than a whole channel. Both registered and assignable kinds exist.
Pitch bend
Status En with a 14-bit value, LSB first, where 8192 means no bend. The range in semitones is set by RPN 0. See Pitch bend.
Poly mode
Channel mode (CC 127) in which a channel can play several notes at once. Almost all keyboard instruments use it.
Port
One 16-channel MIDI connection, such as a physical DIN socket, a USB cable number, or a virtual bus. Software usually names ports, not devices.
PPQ / PPQN
Pulses (ticks) per quarter note. It is the time resolution of a sequencer or MIDI file; MIDI clock is fixed at 24 PPQN. See Ticks and PPQ.
Profile
In MIDI-CI, a standardized set of behaviors and controller mappings, such as a Drawbar Organ or Orchestral Articulation profile, that two devices can agree to turn on. See Profiles.
Program Change
Status Cn plus one data byte that selects a sound. Wire values 0–127 are usually shown as programs 1–128. See Program Change.
Property Exchange
The MIDI-CI mechanism for getting and setting device data, such as program lists and device info, as JSON resources carried in SysEx. See Property Exchange.

Q

Quarter frame
An MTC message (F1) that carries one nibble of timecode. Eight quarter frames, spread over two frames, carry the full time. See Quarter frames.

R

Real-time message
A one-byte system message (F8–FF), such as clock, Start, Stop, or Active Sensing. It can appear anywhere in the stream, even inside another message. See System real-time.
RPN
Registered Parameter Number: CC 101 (MSB) and CC 100 (LSB) select a standardized parameter, such as pitch bend sensitivity or tuning, which Data Entry then sets. See RPN list.
RTP-MIDI
MIDI over IP networks, defined in RFC 6295 and also called AppleMIDI or Network MIDI. It runs on UDP with a session protocol and journaling for recovery from packet loss. See RTP-MIDI.
Running status
Leaving out a repeated channel status byte. The receiver reuses the last one, which saves up to a third of the bandwidth for dense note data. See Running status.

S

SMF
Standard MIDI File (.mid): an MThd header chunk plus one or more MTrk track chunks of timestamped events. See Standard MIDI Files.
SMPTE timecode
Hours:minutes:seconds:frames timecode from film and video, at 24, 25, 29.97 drop-frame, or 30 fps. MTC carries it over MIDI.
Song Position Pointer
System common message F2 with a 14-bit count of MIDI beats (sixteenths) from the start of the song, used to cue a follower before Continue. See SPP.
Status byte
A byte with bit 7 set (80–FF) that starts a message and says what kind it is. For channel messages, it also gives the channel. See Status and data bytes.
SysEx (System Exclusive)
A variable-length message framed by F0 … F7, used for manufacturer-specific data and Universal SysEx. See System Exclusive.
System common message
A system message that is not real-time: MTC quarter frame, Song Position Pointer, Song Select, Tune Request, and EOX. Receiving one cancels running status. See System common.

T

Tempo
Playback speed. In MIDI files it is stored as microseconds per quarter note (500,000 = 120 BPM) by the Set Tempo meta event. See Set Tempo.
THRU
A DIN port that repeats whatever arrives at the device's IN, used to daisy-chain several receivers from one source.
Tick
The smallest unit of time in a sequencer or MIDI file. Its length in seconds depends on the division and the current tempo.
Track
In an SMF, one MTrk chunk. Format 0 files have a single track; format 1 files have several tracks that play at the same time. See Tracks.
TRS MIDI
MIDI over 3.5 mm or 2.5 mm stereo jacks. The MIDI Association's CA-033 standardizes the Type A wiring; Type B swaps tip and ring. See TRS.

U

UMP
Universal MIDI Packet: the 32-to-128-bit packet format that carries both MIDI 1.0 and MIDI 2.0 messages, with message type and group fields. See UMP.
Universal SysEx
SysEx with ID 7E (non-real-time) or 7F (real-time), defined by the MIDI specification itself. Examples are Identity Request, GM System On, Master Volume, MTC Full Frame, and MIDI-CI. See Universal SysEx.
USB-MIDI
The USB device class for MIDI. Version 1.0 carries 32-bit event packets with a cable number and Code Index Number; version 2.0 carries UMP. See USB.

V

Velocity
How hard (in practice, how fast) a key was struck, 1–127 in Note On. In MIDI 1.0, Note On with velocity 0 means Note Off. See Velocity.
VLQ
Variable-length quantity: the Standard MIDI File encoding for delta times and lengths, 7 bits per byte with bit 7 as a continuation flag, up to 4 bytes. See VLQ.

W

Web MIDI API
The W3C browser API (navigator.requestMIDIAccess) that lets web pages list MIDI ports and send and receive messages. Try it on the Try it page.

X

XG
Yamaha's extended General MIDI format, introduced in 1994. It adds many voices, effects, and NRPN- and SysEx-addressable parameters. See Extensions.

Z

Zone
In MPE, a master channel plus a range of member channels. The Lower Zone uses channel 1 as master; the Upper Zone uses channel 16. See Zones.