What is MIDI?
MIDI is not sound. Musical Instrument Digital Interface (developed in 1981) is a digital language — a set of instructions that tells instruments, computers, and hardware what to play, when to play it, and how. Think of it like sheet music: the score tells a performer what to do, but the performer's instrument produces the actual sound. MIDI works the same way — it carries performance data, not audio.
Core message types
🎵
Note On / Note Off
The most fundamental MIDI messages. When you press a key, a Note On message fires containing three values:
- Note number 0–127 — which pitch (middle C = 60)
- Velocity 0–127 — how hard the key was struck
- Channel 1–16 — which device receives it
A velocity of 0 is treated as Note Off. Duration is the time between Note On and Note Off.
🎛️
Control Change (CC)
Sliders, knobs, foot pedals, and wheels send CC messages to adjust performance parameters in real time. Values always range 0–127.
- CC 1 — Modulation wheel
- CC 7 — Channel volume
- CC 10 — Pan (left/right)
- CC 11 — Expression
- CC 64 — Sustain pedal
- CC 121 — Reset all controllers
🎼
Program Change (PC)
Instructs a device to switch to a different sound patch or preset instantly. Essential for live performance.
- Range: 0–127 (128 patches per bank)
- Combined with Bank Select (CC 0 / CC 32) for thousands of patches
- Roland Integra-7 uses PC + bank to select from 6,000+ SuperNATURAL tones
〰️
Pitch Bend
A dedicated message for smooth pitch variation. Uses 14-bit resolution (0–16383) for silky-smooth bends.
- Center value (no bend) = 8192
- Spring-loaded: snaps back to center when released
- Bend range is configurable per device (typically ±2 semitones)
👆
Aftertouch
Pressure applied to a key after it is fully depressed. Adds powerful expressive control.
- Channel aftertouch — one pressure value for all held keys (most common)
- Polyphonic aftertouch — individual pressure per key (rare, expensive)
- Commonly mapped to vibrato, filter cutoff, or volume swell
🏭
System Exclusive (SysEx)
A free-form message type that each manufacturer defines for their own devices. Can be any length.
- Patch backup and restore (dump synth settings to PC)
- Deep parameter editing not possible via CC
- Firmware updates on some devices
- Roland Integra-7 relies heavily on SysEx for tone control
MIDI channels
MIDI supports 16 independent channels on a single cable — like 16 separate lanes on a highway. Each device is configured to listen on one or more channels, so you can connect many instruments to the same cable and control them independently.
How channels work
- Each Note On, CC, and PC message carries a channel number 1–16
- A device ignores messages addressed to channels it isn't set to receive
- Channel 10 is universally reserved for drums in General MIDI
- Multi-timbral devices (like the Integra-7) can receive on all 16 channels simultaneously, playing a different instrument on each
Omni mode vs. poly mode
- Omni On — device responds to all channels (useful for testing)
- Omni Off — device responds only to its assigned channel
- Poly mode — multiple notes play simultaneously on one channel
- Mono mode — one note at a time per channel (useful for wind controllers and legato synths)
System messages
⏱️
MIDI Clock & Sync
24 timing pulses are sent per quarter note, allowing all connected devices to stay in perfect tempo sync.
- Start / Stop / Continue — transport control commands
- Song Position Pointer — jump to a specific beat in a sequence
- One master device sends clock; all others follow
🔌
MIDI Connections
Physical MIDI uses 5-pin DIN connectors on three ports:
- MIDI OUT — transmits data from this device
- MIDI IN — receives data from another device
- MIDI THRU — passes IN data straight through unchanged (for daisy-chaining)
- USB-MIDI is now standard on most modern gear
- A MIDI interface connects DIN devices to a computer's USB port
🔀
Hub vs. Router
How you connect multiple MIDI devices matters enormously for performance and simplicity.
- Hub / Thru box — broadcasts every incoming message to all connected devices; simple but noisy
- Router (MidiXLate) — inspects each packet and sends it only to its intended destination
- For 1–3 devices, a hub is fine. For complex rigs, a router is essential.
Common CC numbers quick reference
| CC # | Name | Typical use |
| CC 0 | Bank Select MSB | Select patch bank (high byte); always paired with CC 32 then a Program Change |
| CC 1 | Modulation | Vibrato depth, LFO intensity — the mod wheel on most keyboards |
| CC 7 | Channel Volume | Overall volume of the channel (distinct from velocity) |
| CC 10 | Pan | Stereo position: 0 = hard left, 64 = center, 127 = hard right |
| CC 11 | Expression | Fine volume control within a phrase; used for swells and dynamics |
| CC 32 | Bank Select LSB | Select patch bank (low byte); paired with CC 0 |
| CC 64 | Sustain Pedal | 0–63 = off, 64–127 = on; holds notes after keys are released |
| CC 65 | Portamento | On/off switch for gliding between notes |
| CC 71 | Resonance | Filter resonance / timbre brightness |
| CC 74 | Brightness | Filter cutoff frequency |
| CC 91 | Reverb Send | Amount of signal sent to the reverb effect |
| CC 93 | Chorus Send | Amount of signal sent to the chorus effect |
| CC 121 | Reset All Controllers | Resets all CC values to default — useful when stuck notes occur |
| CC 123 | All Notes Off | Emergency stop for stuck or hung notes |
Put this knowledge to work with free software and custom hardware from Sierra Digital Audio.