Українська

Що означають MSB і LSB у MIDI?

Завантажити InputConfig з Mac App StoreInputConfig безкоштовний у Mac App Store. macOS 14 або новіша, без облікового запису, без стеження, відкритий код.

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.

Обчисліть значення

MSBLSBЗначення
000
0127127
10128
6408 192, середина
12712716 383, верх

Один крок MSB вартий 128 кроків LSB. Багато пристроїв надсилають і читають лише MSB, тому більшість елементів керування рухається 128 кроками.

Використайте їх для Bank Select

Program Change сягає 128 звуків. Щоб дістатися до більшої кількості, пристрій розкладає звуки по банках, а Bank Select спершу вибирає банк.

ПорядокПовідомленняБайти на каналі 1 (hex)
1CC 0, Bank Select MSBB0 00, потім MSB
2CC 32, Bank Select LSBB0 20, потім LSB
3Program ChangeC0, потім програма

Банк не змінюється, доки не надійде 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 і LSB?

CC 0 це Bank Select MSB, а CC 32 це Bank Select LSB. Надішліть обидва, потім Program Change, щоб вибрати звук у банку понад перші 128.

Чи обов'язково надсилати LSB?

Часто ні. Багато пристроїв використовують лише MSB. Для Bank Select дивіться посібник: одним пристроям потрібні обидва, іншим лише один, і вони розходяться в тому, який саме.

Що йде першим, MSB чи LSB?

Для Bank Select і номерів параметрів MSB зазвичай надсилають першим як окреме повідомлення. Усередині повідомлення pitch bend першим іде LSB.

Чому байти MIDI мають лише 7 біт?

Старший біт позначає байт статусу, початок повідомлення. У байтах даних він лишається вільним, тож лишається 7 біт і діапазон від 0 до 127.

Більше українською

Докладні посібники, англійською

Хто пише. Ryleigh Newman розробляє InputConfig і щодня керує своїм Mac за допомогою геймпада, бо руки погано слухаються. Цю сторінку перекладено з англійської. Інтерфейс застосунку й решта сайту англійською.

Ця сторінка іншими мовами: English, العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Русский, Slovenčina, Svenska, ไทย, Türkçe, Tiếng Việt, 繁體中文, 简体中文

Завантажити InputConfig з Mac App StoreБезкоштовно. macOS 14 або новіша. Без облікового запису, ніщо не залишає ваш Mac. Відкритий код на GitHub.