Português
O que significam MSB e LSB no MIDI?
O InputConfig é grátis na Mac App Store. macOS 14 ou posterior, sem conta, sem rastreamento, código aberto.
MSB e LSB são as duas metades de um número grande demais para um byte de dados MIDI. Um byte de dados guarda de 0 a 127. Juntando dois, eles guardam de 0 a 16.383. O MSB, o byte mais significativo, é a metade grossa, e o LSB, o byte menos significativo, é a metade fina. O valor completo é o MSB vezes 128, mais o LSB.
O par faz parte do padrão MIDI e aparece em quatro lugares: Bank Select, pitch bend, o ajuste fino de um CC e os números de parâmetro chamados RPN e NRPN.
Calcule o valor
| MSB | LSB | Valor |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 127 | 127 |
| 1 | 0 | 128 |
| 64 | 0 | 8.192, o meio |
| 127 | 127 | 16.383, o topo |
Um passo do MSB vale 128 passos do LSB. Muitos dispositivos enviam e leem só o MSB, e é por isso que a maioria dos controles se move em 128 passos.
Use-os no Bank Select
Um Program Change alcança 128 sons. Para alcançar mais, um dispositivo organiza os sons em bancos, e um Bank Select escolhe o banco primeiro.
| Ordem | Mensagem | Bytes no canal 1 (hex) |
|---|---|---|
| 1 | CC 0, Bank Select MSB | B0 00, depois o MSB |
| 2 | CC 32, Bank Select LSB | B0 20, depois o LSB |
| 3 | Program Change | C0, depois o programa |
O banco só muda quando o Program Change chega. Um manual que dá o banco como um único número quer dizer MSB vezes 128, mais o LSB. Envie o banco primeiro e o programa por último. MIDI Program Change cobre o resto.
Encontre-os no pitch bend
O pitch bend sempre leva as duas metades, em uma só mensagem, com a metade fina primeiro: E0, depois o LSB, depois o MSB. O meio, sem bend, é LSB 0 e MSB 64, que dá 8.192. O pitch bend é a única mensagem comum que usa todos os 16.384 passos todas as vezes. MIDI pitch bend explica a faixa.
Combine um CC com a sua metade fina
Os controladores de 0 a 31 têm cada um um parceiro 32 números acima que leva a metade fina. O CC 1, a mod wheel, forma par com o CC 33. O CC 7, o volume, forma par com o CC 39. Um dispositivo que quer um controle mais fino envia os dois, e um dispositivo que não quer lê só o primeiro. Os CC 32 a 63 são as metades finas dos CC 0 a 31. A lista de CC MIDI mostra todos os pares.
Veja-os em RPN e NRPN
Um número de parâmetro precisa de duas metades para escolher o parâmetro e mais duas para definir o valor: os CC 101 e 100, ou os CC 99 e 98, escolhem, e o CC 6 e o CC 38 levam o MSB e o LSB do valor. Um NRPN são dois pares de MSB e LSB enviados um depois do outro. MIDI NRPN e RPN percorre um exemplo.
Confira os seus bytes
O decodificador de mensagens MIDI deste site monta um pitch bend a partir de um único valor e mostra as duas metades em hexadecimal, decimal e binário, e também lê de volta em palavras bytes de Bank Select e Program Change colados nele. Quando um dispositivo cai no banco errado, confira qual metade o manual dele espera no CC 0 e qual no CC 32. Eu faço o InputConfig, um app grátis para Mac que envia Control Change e Program Change a partir de um controle de jogo, e a página de saída MIDI lista o que ele envia.
Resumo
- MSB. É a metade grossa, e cada passo vale 128.
- LSB. É a metade fina, e cada passo vale 1.
- Valor. Multiplique o MSB por 128 e some o LSB, o que dá um número de 0 a 16.383.
Dois bytes de 7 bits formam um número de 14 bits.
Perguntas
O que significam MSB e LSB no MIDI?
Most significant byte e least significant byte, o byte mais significativo e o menos significativo: as metades grossa e fina de um valor de 14 bits dividido em dois bytes de dados de 7 bits.
Como calculo um valor MIDI a partir do MSB e do LSB?
Multiplique o MSB por 128 e some o LSB. MSB 1 e LSB 0 dá 128. MSB 127 e LSB 127 dá 16.383.
O que são Bank Select MSB e LSB?
O CC 0 é o Bank Select MSB e o CC 32 é o Bank Select LSB. Envie os dois e depois um Program Change para escolher um som em um banco além dos primeiros 128.
Preciso enviar o LSB?
Muitas vezes não. Muitos dispositivos usam só o MSB. Para o Bank Select, confira o manual: alguns dispositivos precisam dos dois, outros só de um, e eles diferem quanto a qual.
Qual vem primeiro, o MSB ou o LSB?
No Bank Select e nos números de parâmetro, o MSB normalmente é enviado primeiro, como uma mensagem própria. Dentro de uma mensagem de pitch bend, o LSB vem primeiro.
Por que os bytes MIDI têm só 7 bits?
O bit mais alto marca um byte de status, o início de uma mensagem. Os bytes de dados o mantêm zerado, o que deixa 7 bits e uma faixa de 0 a 127.
Mais em português
Guias completos, em inglês
Quem escreve. Ryleigh Newman desenvolve o InputConfig e usa o próprio Mac todos os dias com um controle, porque as mãos não funcionam bem. Esta página foi traduzida do inglês. Os principais botões e menus do app aparecem em português quando o Mac está em português; esta página os chama assim, com o nome em inglês entre parênteses. O restante do app e do site está em inglês.
Esta página em outros idiomas: English, العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 繁體中文, 简体中文
Grátis. macOS 14 ou posterior. Sem conta, nada sai do seu Mac. Código aberto no GitHub.