Português

O que significam MSB e LSB no MIDI?

Baixar o InputConfig na Mac App StoreO 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

MSBLSBValor
000
0127127
10128
6408.192, o meio
12712716.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.

OrdemMensagemBytes no canal 1 (hex)
1CC 0, Bank Select MSBB0 00, depois o MSB
2CC 32, Bank Select LSBB0 20, depois o LSB
3Program ChangeC0, 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, 繁體中文, 简体中文

Baixar o InputConfig na Mac App StoreGrátis. macOS 14 ou posterior. Sem conta, nada sai do seu Mac. Código aberto no GitHub.