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 #NameTypical use
CC 0Bank Select MSBSelect patch bank (high byte); always paired with CC 32 then a Program Change
CC 1ModulationVibrato depth, LFO intensity — the mod wheel on most keyboards
CC 7Channel VolumeOverall volume of the channel (distinct from velocity)
CC 10PanStereo position: 0 = hard left, 64 = center, 127 = hard right
CC 11ExpressionFine volume control within a phrase; used for swells and dynamics
CC 32Bank Select LSBSelect patch bank (low byte); paired with CC 0
CC 64Sustain Pedal0–63 = off, 64–127 = on; holds notes after keys are released
CC 65PortamentoOn/off switch for gliding between notes
CC 71ResonanceFilter resonance / timbre brightness
CC 74BrightnessFilter cutoff frequency
CC 91Reverb SendAmount of signal sent to the reverb effect
CC 93Chorus SendAmount of signal sent to the chorus effect
CC 121Reset All ControllersResets all CC values to default — useful when stuck notes occur
CC 123All Notes OffEmergency stop for stuck or hung notes

Put this knowledge to work with free software and custom hardware from Sierra Digital Audio.