Skip to content

14-bit Control Change Messages

7-bit not enough

Standard MIDI Control Change (CC) messages use 7-bit values, which means they can represent values from 0 to 127.

This is often sufficient for switches or coarse controls, but it can feel stepped or imprecise for parameters like:

  • filter cutoff
  • pitch-related modulation
  • smooth fades
  • high-resolution encoders

To solve this, MIDI defines a way to combine two CC messages into a single 14-bit value.

What “14-bit” Means

A 14-bit value can represent:

0 – 16383

This gives 128 times more resolution than a 7-bit CC.

How 14-bit CC Works

A 14-bit Control Change value is split into two parts:

  • MSB (Most Significant Byte) — coarse value
  • LSB (Least Significant Byte) — fine value

Each part is sent as a separate CC message.

Controller Number Pairing

MIDI reserves CC numbers in pairs:

PurposeCC Number
MSB0–31
LSB32–63

Example:

  • CC 1 → MSB
  • CC 33 → LSB

Byte Structure Each CC message still follows the standard format:

[ Status ] [ Controller Number ] [ Value ]

The difference is semantic, not structural.

Example: 14-bit Modulation Wheel

Modulation Wheel uses:

  • CC 1 (MSB)
  • CC 33 (LSB)

Sending MSB First

0xB0 1 64

Sending LSB

0xB0 33 32

Combining the Values

The final 14-bit value is computed as:

value = (MSB * 128) + LSB

Example:

MSB = 64
LSB = 32

value = 64 * 128 + 32
value = 8224

Order of Transmission

The MSB should be sent first, followed by the LSB. This allows devices that only support 7-bit CC to still respond to the MSB message.

Backward Compatibility

This design is intentional:

  • Older devices ignore the LSB
  • Newer devices combine MSB + LSB

This ensures compatibility across generations of MIDI hardware.

FunctionMSBLSB
Bank Select032
Modulation Wheel133
Breath Controller234
Foot Controller436
Portamento Time537
Data Entry638

Running Status and 14-bit CC

Running status applies normally:

0xB0 1 64
    33 32

This further reduces bandwidth.

Summary

14-bit Control Change messages provide high-resolution control by combining two standard CC messages: an MSB (0–31) and an LSB (32–63). Together they form a 14-bit value ranging from 0 to 16383. This mechanism allows smooth parameter control while remaining backward compatible with older MIDI devices.

Made with 🩶 in the EU · © 2019–2026 Electra One