What is MSB and LSB?

MIDI MSB and LSB

Some devices use a MSB and LSB CC system, which might be somewhat confusing for new users. The MSB and LSB gives you more resolution when controlling the parameters. MSB stands for most significant bit, while LSB is least significant bit. In binary terms, the MSB is the bit that has the greatest effect on the number, and it is the left-most bit. For example, for a binary number 0011 0101, the Most Significant 4 bits would be 0011. The Least Significant 4 bits would be 0101.

If you are not familiar with binary calculations, simply google for a Binary Calculator, and you can find plenty.

The left-most bit is the most significant, because for the binary 0011 0101, the value is 53. If you flip the left-most bit from 0 to 1, you have 1011 0101, which gives you 181. Flipping the LSB on the right will give you 0011 0100, which is 52. Hence the name Most Significant and Least Significant.

Now let’s take a look at the MIDI chart from the Elektron Analog Drive below:

The chart states that there are 7 bits in MSB, and 1 bit in LSB, which totals to 8 bits. 8 bits equals a max value of 256, giving a range of 0 - 255 (in binary, 256 = 1111 1111). The MIDI protocol only sends a value of up to 128 (or 0 - 127). Using this MSB LSB approach allows them to get a resolution of up to 256 (0 - 255). Some synth companies use a 7 bit MSB and 7 bit LSB, which gives them a resolution of 128x128 = 16384 (or a range of 0 - 16383). The chart also shows that Gain has a CC MSB of 16, and CC LSB of 48. Now lets say the value of Gain is now 0 (Binary = 0000 0000). If there are 7 bits in MSB, then sending a CC#16 with value 108 (108 = 1101 100 will set the 8 bit binary to 1101 1000, which gives you a value of 216. If you send a CC#48 (LSB) with value 1 message, it will set the 8 bit number to 1101 1001, which gives you 217. The LSB isn’t so important in this case, as it will only change the value by 1 (resolution is only 1 bit).

There you have it! MSB and LSB explained.

1 Like

I have an Elektron Digitakt I’m looking at programming some solos and mutes for via MC6 but I’m not sure I understand the manual/msb stuff.

For example, the manual says the CC MSB for track solo is 93. There is no CC LSB in the chart. But it does show NRPN MSB of 1 and NRPN LSB of 102. Which is way beyond my superficial midi knowledge.

What I’m trying to figure out is how to send separate solo command for each of the 16 tracks when I only have one CC number.

Any ideas how this could be decoded? Thanks in advance!

1 Like

I looked through the Digitakt MIDI implementation but am not entirely sure what the values do. I’d do some testes but unfortunately we don’t own a Digitakt. We might have an Analog Heat somewhere though.

I think you might get better responses if you reach out to the Elektron community with regards to the MIDI implementation on the Digitakt

1 Like

did you have any luck with this on the Elektronauts forum? This is something i would like to start implementing soon as well. for certain instances where im playing guitar and would like to trigger a mute from the pedal board.