Português
Tabela de mensagens MIDI: todos os tipos, status bytes e faixas
Este app é totalmente gratuito. Você não precisa criar uma conta. Não há assinaturas nem downloads complicados, e nada fica bloqueado. Otimizado para Apple Silicon.
Uma mensagem MIDI 1.0 é um status byte, que diz o que a mensagem é, seguido de zero, um ou dois bytes de dados. Há sete mensagens de canal, do Note Off em 80 hex ao Pitch Bend em E0, cada uma levando o canal no último dígito, e um conjunto de mensagens de sistema de F0 a FF que não têm canal nenhum. As tabelas abaixo cobrem todas elas, com as faixas que cada byte de dados assume, e cada linha leva à página deste site que explica essa mensagem a fundo.
Os valores vêm do resumo das mensagens MIDI 1.0 da própria MIDI Association e da lista de Control Change dela, que li em 27 de outubro de 2026. Eu faço o InputConfig, um app grátis para Mac que lê e envia MIDI, então uma tabela diz quais dessas mensagens ele trata.
Passos
- Leia o primeiro byte da mensagem em hex.
- Se ele for de 80 a EF, o primeiro dígito nomeia a mensagem e o segundo é o canal, de 0 para o canal 1 até F para o canal 16.
- Se for de F0 a FF, é uma mensagem de sistema sem canal, então procure na tabela de sistema.
- Leia os bytes de dados que vêm depois, cada um de 0 a 127, pela tabela de canal.
- Para um Control Change, procure o número do controlador na tabela de CC.
Diferencie um status byte de um byte de dados
Todo byte no MIDI 1.0 é um status byte ou um byte de dados, e o bit mais alto decide qual. Na tabela da MIDI Association, todo status byte é escrito começando com 1 em binário e todo byte de dados com 0.
- Status bytes. De 80 a FF hex, de 128 a 255. Eles iniciam uma mensagem.
- Bytes de dados. De 00 a 7F hex, de 0 a 127. Por isso quase todo valor no MIDI para em 127.
- O canal. Numa mensagem de canal, o segundo dígito hex é o canal, de 0 a F, que os apps mostram como canais 1 a 16. Assim 90 é Note On no canal 1 e 9F é Note On no canal 16.
- Valores de 14 bits. Quando 128 passos não bastam, dois bytes de dados se juntam: a metade fina, o LSB, e a metade grossa, o MSB. Juntos vão de 0 a 16383, e o Pitch Bend põe o centro em 8192, 2000 hex.
Um byte de 128 ou mais inicia uma mensagem, e um byte abaixo de 128 leva um valor. Canais MIDI e MSB e LSB vão mais longe nos dois assuntos.
Leia as mensagens de canal
Estas sete levam a música: notas, pressão, botões giratórios, trocas de patch e a roda de pitch. A coluna de status é hex, com o dígito baixo definido pelo canal.
| Mensagem | Status (hex) | Byte de dados 1 | Byte de dados 2 | Mais |
|---|---|---|---|---|
| Note Off | 80 a 8F | Número da nota, 0 a 127 | Velocidade de soltura, 0 a 127 | números de nota |
| Note On | 90 a 9F | Número da nota, 0 a 127 | Velocidade, 0 a 127 (0 age como Note Off) | velocidade |
| Pressão polifônica de tecla | A0 a AF | Número da nota, 0 a 127 | Pressão, 0 a 127 | aftertouch |
| Control Change | B0 a BF | Controlador, 0 a 119 | Valor, 0 a 127 | lista de CC |
| Program Change | C0 a CF | Programa, 0 a 127 | Nenhum | program change |
| Pressão de canal | D0 a DF | Pressão, 0 a 127 | Nenhum | aftertouch |
| Pitch Bend | E0 a EF | Metade fina (LSB), 0 a 127 | Metade grossa (MSB), 0 a 127 | pitch bend |
Um Note On com velocidade 0 conta como Note Off, e o guia de Arduino da própria MIDI Association usa isso para encerrar uma nota. O número do controlador do Control Change para em 119 porque de 120 a 127 são tomados pelas mensagens de modo de canal abaixo. A faixa do Pitch Bend em semitons não está na mensagem: quem recebe decide, e a tabela MIDI observa que ela pode ser definida com o RPN 0. O Program Change e a pressão de canal levam um byte de dados, e as outras cinco levam dois.
Conheça as mensagens de modo de canal
As mensagens de modo de canal usam o status byte do Control Change, de B0 a BF, com números de controlador de 120 a 127. Elas mudam como o canal se comporta, e não como ele soa.
| Controlador | Nome | O que faz |
|---|---|---|
| 120 | All Sound Off | Silencia todas as vozes de uma vez |
| 121 | Reset All Controllers | Volta os controladores ao estado padrão |
| 122 | Local Control | 0 é desligado, 127 é ligado: se as teclas tocam o som do próprio sintetizador |
| 123 | All Notes Off | Solta todas as notas seguradas |
| 124 e 125 | Omni Mode Off e On | Se o dispositivo escuta em um canal ou em todos |
| 126 e 127 | Mono Mode On e Poly Mode On | Uma nota por canal, ou acordes |
A lista da MIDI Association observa que de 124 a 127 também desligam todas as notas. Um botão de pânico é, na maior parte, CC 123 e CC 120 enviados nos 16 canais. Pânico MIDI lista os bytes exatos.
Leia as mensagens de sistema
As mensagens de sistema começam com F e não levam canal, então todo dispositivo no cabo pode lê-las. De F0 a F7 são mensagens comuns de sistema e de F8 a FF são de tempo real, as únicas permitidas no meio de uma mensagem SysEx.
| Status (hex) | Mensagem | Dados | Mais |
|---|---|---|---|
| F0 | System Exclusive | ID do fabricante e depois qualquer quantidade de bytes de dados, até o F7 | SysEx |
| F1 | MIDI Time Code quarter frame | Um byte: um pedaço do time code | |
| F2 | Song Position Pointer | Dois bytes: uma contagem de 14 bits de tempos desde o início, em que um tempo são 6 clocks | |
| F3 | Song Select | Um byte: qual música ou sequência | |
| F6 | Tune Request | Nenhum. Pede aos sintetizadores analógicos que afinem os osciladores | |
| F7 | End of Exclusive | Nenhum. Encerra uma mensagem SysEx | |
| F8 | Timing Clock | Nenhum. Enviado 24 vezes por semínima | clock MIDI |
| FA, FB, FC | Start, Continue, Stop | Nenhum | clock MIDI |
| FE | Active Sensing | Nenhum. Opcional, a cada 300 ms no máximo depois que um dispositivo começa a enviá-lo | |
| FF | Reset | Nenhum. Volta os receptores ao estado de quando ligam |
F4, F5, F9 e FD são indefinidos. Clock, Start e Stop são mensagens de sistema, então nunca levam um canal. Para dumps de SysEx e os apps que os enviam, veja a página SysEx librarian para Mac.
Procure os números de CC que valem conhecer
Muitos dos 120 números de Control Change ficam indefinidos, mas alguns têm nome no padrão MIDI que sintetizadores e apps seguem. Estes são da lista de Control Change da MIDI Association.
| CC | Nome | Mais |
|---|---|---|
| 0 e 32 | Bank Select, MSB e LSB | MSB e LSB |
| 1 | Roda de modulação | lista de CC |
| 2 | Controlador de sopro | |
| 4 | Controlador de pé | |
| 6 e 38 | Data Entry, MSB e LSB | NRPN e RPN |
| 7 | Volume do canal | |
| 10 | Pan | |
| 11 | Expression | |
| 64 | Pedal de sustain (abafador): 0 a 63 desligado, 64 a 127 ligado | pedal de sustain |
| 65, 66, 67 | Pedais de portamento, sostenuto e soft, ligado ou desligado | |
| 98 e 99 | Número de NRPN, LSB e MSB | NRPN e RPN |
| 100 e 101 | Número de RPN, LSB e MSB | NRPN e RPN |
Os controladores de 32 a 63 são as metades finas, os LSBs, dos controladores de 0 a 31, e é assim que o Bank Select vira CC 0 mais CC 32. O CC 64 é uma chave, então qualquer valor de 64 para cima significa que o pedal está pressionado. A lista de CC MIDI traz todos os números.
Veja o que o InputConfig lê e envia
O InputConfig transforma o MIDI de um teclado, de um controlador de pads ou de uma DAW em teclas, cliques, volume do Mac e mais, e envia MIDI de um controle de videogame ou de um teclado por uma porta virtual chamada InputConfig. Aqui está a lista honesta, mensagem por mensagem.
| Mensagem | Mapear como entrada | Enviar como saída |
|---|---|---|
| Note On e Off | Sim, como botão segurado | Sim, na velocidade definida na linha |
| Control Change | Sim, como chave, botão giratório ou giro | Sim, um valor fixo ou a posição de um stick ou gatilho |
| Pitch Bend | Sim, mais e menos como um stick | Sim, a partir de um eixo de stick ou de um botão |
| Aftertouch | Sim | Não |
| Program Change | Sim, e pode ativar um preset | Sim |
| Start, Continue, Stop | Sim | Sim |
| Timing Clock | Não | Não |
| System Exclusive | Não | Não |
| NRPN e RPN | Não | Não, envia mensagens soltas |
Dois detalhes confundem as pessoas. Botões não são sensíveis à velocidade, então cada saída de MIDI Note toca na velocidade definida na linha, de 1 a 127, e um gatilho no CC 11 é o jeito de ter dinâmica. E um botão giratório no modo Switch dispara quando o valor passa da metade, o que transforma um pedal de sustain numa chave de liga e desliga.


Se um controle envia uma nota, um CC, um pitch bend ou um Program Change, o InputConfig consegue mapeá-lo. MIDI para tecla e saída MIDI tratam da configuração.
Se uma mensagem não é o que você esperava
A maioria das surpresas vem da numeração, não de equipamento quebrado. Suba esta escada, sempre do passo menor para o maior:
- Confira a contagem de canais. O byte diz de 0 a 15 e o app diz de 1 a 16. Um dispositivo no canal 10 envia 99 para um Note On.
- Confira a contagem de programas. A mensagem leva de 0 a 127, e muitas listas de patches mostram de 1 a 128, então o patch 1 é enviado como 0.
- Procure um Note Off escondido. Um Note On com velocidade 0 encerra a nota, então um registro cheio de Note Ons ainda pode estar soltando teclas.
- Decodifique os bytes brutos. Cole-os no decodificador de mensagens MIDI, ou veja-os chegar no testador MIDI.
Errar por um é o bug mais comum que existe no MIDI.
Aprofunde-se numa mensagem
- Notas. Velocidade, números de nota e o mapa de bateria do General MIDI.
- Pressão. Aftertouch de canal e polifônico.
- Controladores. O pedal de sustain, MSB e LSB, NRPN e RPN e MIDI learn.
- Patches. Program Change.
- Altura. Pitch Bend.
- Tempo e segurança. Clock MIDI, pânico MIDI e MIDI Thru.
- Dados. SysEx.
Cada página aqui pega uma linha das tabelas e a explica com exemplos. Se tudo isso é novidade para você, comece por o que é MIDI.
A versão curta
- Status primeiro. Um byte de 80 hex ou mais inicia uma mensagem, e os bytes depois dele são valores de 0 a 127.
- Mensagens de canal. De 80 a EF, com o canal no último dígito.
- Mensagens de sistema. De F0 a FF, sem canal: SysEx, clock, Start, Stop e o resto.
- Números grandes. Dois bytes de dados fazem de 0 a 16383, como no Pitch Bend.
Leia o primeiro dígito do status byte e você sabe que tipo de mensagem é.
Perguntas
Quantos tipos de mensagem MIDI existem?
O MIDI 1.0 tem sete mensagens de canal (Note Off, Note On, pressão polifônica, Control Change, Program Change, pressão de canal e Pitch Bend), as mensagens de modo de canal nos CC 120 a 127 e as mensagens de sistema de F0 a FF.
O que é um status byte MIDI?
O primeiro byte de uma mensagem, de 80 a FF hex. Ele diz o que a mensagem é e, nas mensagens de canal, em qual dos 16 canais ela está.
Qual é a diferença entre CC e NRPN?
Um CC é uma mensagem com um número de controlador e um valor de 0 a 127. Um NRPN escolhe um parâmetro com o CC 99 e o 98 e o define com o Data Entry nos CC 6 e 38, então uma mudança leva três ou quatro mensagens.
Quais mensagens MIDI o InputConfig suporta?
Ele mapeia notas, Control Change, pitch bend, aftertouch, Program Change e Start, Continue e Stop, e envia notas, Control Change, pitch bend, Program Change e o transporte. Não trata clock, SysEx nem NRPN.
O clock MIDI é uma mensagem de canal?
Não. O Timing Clock, F8, é uma mensagem de sistema em tempo real, sem canal, enviada 24 vezes por semínima.
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, Deutsch, Español, Français, Italiano, 日本語, 한국어, Polski, Русский, ไทย, 繁體中文, 简体中文
Grátis. macOS 14 ou posterior. Sem conta, nada sai do seu Mac. Código aberto no GitHub.