Questions

What do MSB and LSB mean in MIDI?

MSB and LSB are the two halves of a number that is too big for one MIDI data byte. A data byte holds 0 to 127. Put two together and they hold 0 to 16,383. The MSB, the most significant byte, is the coarse half, and the LSB, the least significant byte, is the fine half. The full value is the MSB times 128, plus the LSB.

The pairing is part of the MIDI standard, and it turns up in four places: Bank Select, pitch bend, fine control of a CC, and the parameter numbers called RPN and NRPN.

Work out the value

MSBLSBValue
000
0127127
10128
6408,192, the middle
12712716,383, the top

One step of the MSB is worth 128 steps of the LSB. Many devices send and read only the MSB, which is why most controls move in 128 steps.

Download InputConfig on the Mac App StoreInputConfig is free on the Mac App Store. macOS 14 or later, no account, no tracking, open source.

Use them for Bank Select

A Program Change reaches 128 sounds. To reach more, a device sorts its sounds into banks, and a Bank Select picks the bank first.

OrderMessageBytes on channel 1 (hex)
1CC 0, Bank Select MSBB0 00, then the MSB
2CC 32, Bank Select LSBB0 20, then the LSB
3Program ChangeC0, then the program

The bank does not change until the Program Change arrives. A manual that gives the bank as one number means MSB times 128, plus LSB. Send the bank first and the program last. MIDI Program Change covers the rest.

Find them in pitch bend

Pitch bend always carries both halves, in one message, with the fine half first: E0, then the LSB, then the MSB. The middle, no bend, is LSB 0 and MSB 64, which is 8,192. Pitch bend is the one common message that uses all 16,384 steps every time. MIDI pitch bend explains the range.

Pair a CC with its fine half

Controllers 0 to 31 each have a partner 32 numbers higher that carries the fine half. CC 1, the mod wheel, pairs with CC 33. CC 7, volume, pairs with CC 39. A device that wants finer control sends both, and a device that does not reads only the first. CC 32 to 63 are the fine halves of CC 0 to 31. The MIDI CC list shows every pair.

See them in RPN and NRPN

A parameter number needs two halves to pick the parameter and two more to set the value: CC 101 and 100, or CC 99 and 98, select, and CC 6 and CC 38 carry the value's MSB and LSB. An NRPN is two MSB and LSB pairs sent one after the other. MIDI NRPN and RPN walks through one.

Check your bytes

The MIDI message decoder on this site builds a pitch bend from a single value and shows both halves in hex, decimal and binary, and it reads pasted Bank Select and Program Change bytes back into words. When a device lands on the wrong bank, check which half its manual expects in CC 0 and which in CC 32. I make InputConfig, a free Mac app that sends Control Change and Program Change from a game controller, and its MIDI output page lists what it sends.

The short version

  • MSB. The coarse half, worth 128 each.
  • LSB. The fine half, worth 1 each.
  • Value. MSB times 128, plus LSB, from 0 to 16,383.

Two 7-bit bytes make one 14-bit number.

Questions

What do MSB and LSB stand for in MIDI?

Most significant byte and least significant byte: the coarse and fine halves of a 14-bit value split across two 7-bit data bytes.

How do I calculate a MIDI value from MSB and LSB?

Multiply the MSB by 128 and add the LSB. MSB 1 and LSB 0 is 128. MSB 127 and LSB 127 is 16,383.

What are Bank Select MSB and LSB?

CC 0 is Bank Select MSB and CC 32 is Bank Select LSB. Send both, then a Program Change, to pick a sound in a bank beyond the first 128.

Do I have to send the LSB?

Often not. Many devices use only the MSB. For Bank Select, check the manual: some devices need both, some need only one, and they differ on which.

Which comes first, MSB or LSB?

For Bank Select and parameter numbers, the MSB is normally sent first as its own message. Inside a pitch bend message, the LSB comes first.

Why are MIDI bytes only 7 bits?

The top bit marks a status byte, the start of a message. Data bytes keep it clear, which leaves 7 bits and a range of 0 to 127.

Download InputConfig on the Mac App StoreFree. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.

Updated