Русский
Что значат MSB и LSB в MIDI?
Это приложение полностью бесплатное. Создавать учётную запись не нужно. Нет подписок, нет сложных загрузок, и ничего не заблокировано. Оптимизировано для Apple Silicon.
MSB и LSB представляют собой две половины числа, которое слишком велико для одного байта данных MIDI. Байт данных вмещает от 0 до 127. Два вместе вмещают от 0 до 16 383. MSB, старший байт (most significant byte), содержит грубую половину, а LSB, младший байт (least significant byte), точную половину. Полное значение равно MSB, умноженному на 128, плюс LSB.
Эта пара входит в стандарт MIDI и встречается в четырёх местах: Bank Select, pitch bend, точное управление через CC и номера параметров RPN и NRPN.
Вычислите значение
| MSB | LSB | Значение |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 127 | 127 |
| 1 | 0 | 128 |
| 64 | 0 | 8 192, середина |
| 127 | 127 | 16 383, максимум |
Один шаг MSB стоит 128 шагов LSB. Многие устройства отправляют и читают только MSB, поэтому большинство регуляторов двигаются 128 шагами.
Используйте их для Bank Select
Program Change достаёт до 128 звуков. Чтобы добраться до большего числа, устройство раскладывает звуки по банкам, а сначала банк выбирает Bank Select.
| Порядок | Сообщение | Байты на канале 1 (hex) |
|---|---|---|
| 1 | CC 0, Bank Select MSB | B0 00, затем MSB |
| 2 | CC 32, Bank Select LSB | B0 20, затем LSB |
| 3 | Program Change | C0, затем программа |
Банк не меняется, пока не придёт Program Change. Если в руководстве банк указан одним числом, это MSB, умноженный на 128, плюс LSB. Сначала отправляйте банк, а программу в последнюю очередь. Остальное разобрано на странице MIDI Program Change.

Найдите их в pitch bend
Pitch bend всегда несёт обе половины в одном сообщении, причём точная половина идёт первой: E0, затем LSB, затем MSB. Середине, то есть отсутствию изгиба, соответствуют LSB 0 и MSB 64, то есть 8 192. Pitch bend остаётся единственным распространённым сообщением, которое каждый раз использует все 16 384 шага. Диапазон объясняет страница MIDI pitch bend.
Соедините CC с его точной половиной
У контроллеров от 0 до 31 есть пара на 32 номера выше, которая несёт точную половину. CC 1, колесо модуляции, в паре с CC 33. CC 7, громкость, в паре с CC 39. Устройство, которому нужно более точное управление, отправляет обе, а устройство, которому не нужно, читает только первую. CC от 32 до 63 служат точными половинами CC от 0 до 31. Все пары показывает список MIDI CC.
Увидьте их в RPN и NRPN
Номеру параметра нужны две половины, чтобы выбрать параметр, и ещё две, чтобы задать значение: CC 101 и 100 либо CC 99 и 98 выбирают, а CC 6 и CC 38 несут MSB и LSB значения. NRPN состоит из двух пар MSB и LSB, отправленных одна за другой. Один пример разобран на странице MIDI NRPN и RPN.
Проверьте свои байты
Декодер сообщений MIDI на этом сайте собирает pitch bend из одного значения и показывает обе половины в hex, десятичном и двоичном виде, а вставленные байты Bank Select и Program Change читает обратно словами. Если устройство попадает не в тот банк, проверьте, какая половина по руководству идёт в CC 0, а какая в CC 32. Я делаю InputConfig, бесплатное приложение для Mac, которое отправляет Control Change и Program Change с игрового контроллера, а страница вывода MIDI перечисляет, что именно оно отправляет.

Коротко
- MSB. Это грубая половина, и каждый шаг стоит 128.
- LSB. Это точная половина, и каждый шаг стоит 1.
- Значение. Умножьте MSB на 128 и прибавьте LSB, и получится число от 0 до 16 383.
Два 7-битных байта дают одно 14-битное число.
Вопросы
Как расшифровываются MSB и LSB в MIDI?
Most significant byte и least significant byte, то есть старший и младший байт: грубая и точная половины 14-битного значения, разделённого на два 7-битных байта данных.
Как вычислить значение MIDI по MSB и LSB?
Умножьте MSB на 128 и прибавьте LSB. MSB 1 и LSB 0 дают 128. MSB 127 и LSB 127 дают 16 383.
Какой из двух контроллеров Bank Select называется старшим байтом (MSB)?
CC 0 отвечает за Bank Select MSB, а CC 32 за Bank Select LSB. Отправьте сначала CC 0, затем CC 32, потом Program Change, чтобы выбрать звук в банке за пределами первых 128.
Обязательно ли отправлять LSB?
Часто нет. Многие устройства используют только MSB. Для Bank Select загляните в руководство: одним устройствам нужны оба байта, другим только один, и они расходятся в том, какой именно.
Что идёт первым, MSB или LSB?
Для Bank Select и номеров параметров MSB обычно отправляется первым отдельным сообщением. Внутри сообщения pitch bend первым идёт LSB.
Почему байты MIDI всего 7-битные?
Старший бит отмечает байт статуса, начало сообщения. В байтах данных он сброшен, и остаются 7 бит с диапазоном от 0 до 127.
Ещё на русском
Подробные руководства на английском
Кто это пишет. Ryleigh Newman разрабатывает InputConfig и каждый день управляет своим Mac с помощью геймпада, потому что руки плохо слушаются. Эта страница переведена с английского. Если на Mac выбран русский язык, InputConfig показывается по-русски. Некоторые страницы сайта пока есть только на английском.
Эта страница на других языках: English
Бесплатно. macOS 14 или новее. Без учётной записи, ничего не покидает ваш Mac. Исходный код на GitHub.