Questions

What do MSB and LSB mean in MIDI?

Download on the Mac App StoreInputConfig is completely free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.

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.

On this page
  1. Work out the value
  2. Use them for Bank Select
  3. Find them in pitch bend
  4. Pair a CC with its fine half
  5. See them in RPN and NRPN
  6. Check your bytes
  7. The short version
  8. Questions

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.

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.

InputConfig's editor showing two D-pad rows, each sending CC 0, CC 32 and then a Program Change.
Figure 1. Bank MSB on CC 0, bank LSB on CC 32, then the Program Change. Each D-pad row sends the three in that order.

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.

InputConfig's Live Visualizer on its MIDI view, showing a knob's CC number and value changing as it turns.
Figure 2. InputConfig's Live Visualizer shows a knob's CC number and value change as it turns.

The short version

  • MSB. This is the coarse half, and each step is worth 128.
  • LSB. This is the fine half, and each step is worth 1.
  • Value. Multiply the MSB by 128 and add the LSB, which gives a number 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.

Which of the two Bank Select controllers is called the most significant byte (MSB)?

CC 0 is the Bank Select MSB, and CC 32 is the Bank Select LSB. Send CC 0 first, then CC 32, 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 on the Mac App StoreOpen source on GitHub.

Updated