Italiano
Tabella dei messaggi MIDI: ogni tipo, byte di stato e intervallo
Questa app è completamente gratuita. Non devi creare un account. Niente abbonamenti, niente download complicati, e nulla è bloccato. Ottimizzata per Apple Silicon.
Un messaggio MIDI 1.0 è un byte di stato, che dice che messaggio è, seguito da zero, uno o due byte di dati. Ci sono sette messaggi di canale, da Note Off a 80 esadecimale fino a Pitch Bend a E0, ognuno con il proprio canale nell'ultima cifra, e un insieme di messaggi di sistema da F0 a FF che non hanno alcun canale. Le tabelle qui sotto li coprono tutti, con gli intervalli che prende ogni byte di dati, e ogni riga rimanda alla pagina di questo sito che spiega quel messaggio a fondo.
I valori vengono dal riepilogo dei messaggi MIDI 1.0 della MIDI Association e dal suo elenco dei Control Change, che ho letto il 27 ottobre 2026. Sviluppo InputConfig, un'app gratuita per Mac che legge e invia MIDI, quindi una tabella dice quali di questi messaggi gestisce.
Passaggi
- Leggi in esadecimale il primo byte del messaggio.
- Se va da 80 a EF, la prima cifra indica il messaggio e la seconda è il canale, da 0 per il canale 1 fino a F per il canale 16.
- Se va da F0 a FF, è un messaggio di sistema senza canale, quindi cercalo nella tabella di sistema.
- Leggi i byte di dati che seguono, ciascuno da 0 a 127, usando la tabella dei canali.
- Per un Control Change, cerca il numero del controller nella tabella dei CC.
Distingui un byte di stato da un byte di dati
Ogni byte nel MIDI 1.0 è o un byte di stato o un byte di dati, e il bit più alto decide quale. Nella tabella della MIDI Association, ogni byte di stato è scritto in binario cominciando con un 1 e ogni byte di dati con uno 0.
- Byte di stato. Da 80 a FF esadecimale, da 128 a 255. Aprono un messaggio.
- Byte di dati. Da 00 a 7F esadecimale, da 0 a 127. Per questo quasi ogni valore nel MIDI si ferma a 127.
- Il canale. In un messaggio di canale la seconda cifra esadecimale è il canale, da 0 a F, che le app mostrano come canali da 1 a 16. Quindi 90 è Note On sul canale 1 e 9F è Note On sul canale 16.
- Valori a 14 bit. Quando 128 passi non bastano, due byte di dati si uniscono: la metà fine, l'LSB, e la metà grossolana, l'MSB. Insieme vanno da 0 a 16383, e Pitch Bend mette il suo centro a 8192, 2000 esadecimale.
Un byte di 128 o più apre un messaggio, e un byte sotto 128 porta un valore. I canali MIDI e MSB e LSB approfondiscono entrambi.
Leggi i messaggi di canale
Questi sette portano la musica: note, pressione, manopole, cambi di patch e la rotella del pitch. La colonna dello stato è in esadecimale, con la cifra bassa data dal canale.
| Messaggio | Stato (esadecimale) | Byte di dati 1 | Byte di dati 2 | Altro |
|---|---|---|---|---|
| Note Off | da 80 a 8F | Numero di nota, da 0 a 127 | Velocity di rilascio, da 0 a 127 | numeri di nota |
| Note On | da 90 a 9F | Numero di nota, da 0 a 127 | Velocity, da 0 a 127 (0 vale come Note Off) | velocity |
| Pressione polifonica dei tasti | da A0 a AF | Numero di nota, da 0 a 127 | Pressione, da 0 a 127 | aftertouch |
| Control Change | da B0 a BF | Controller, da 0 a 119 | Valore, da 0 a 127 | elenco dei CC |
| Program Change | da C0 a CF | Programma, da 0 a 127 | Nessuno | program change |
| Pressione di canale | da D0 a DF | Pressione, da 0 a 127 | Nessuno | aftertouch |
| Pitch Bend | da E0 a EF | Metà fine (LSB), da 0 a 127 | Metà grossolana (MSB), da 0 a 127 | pitch bend |
Un Note On con velocity 0 conta come un Note Off, cosa che la guida Arduino della MIDI Association usa per chiudere una nota. Il numero del controller di Control Change si ferma a 119 perché da 120 a 127 sono presi dai messaggi di modo del canale qui sotto. L'intervallo del Pitch Bend in semitoni non è affatto nel messaggio: lo decide il ricevitore, e la tabella MIDI nota che si può impostare con RPN 0. Program Change e la pressione di canale portano un byte di dati, e gli altri cinque ne portano due.
Conosci i messaggi di modo del canale
I messaggi di modo del canale usano il byte di stato del Control Change, da B0 a BF, con numeri di controller da 120 a 127. Cambiano come si comporta il canale, non come suona.
| Controller | Nome | Cosa fa |
|---|---|---|
| 120 | All Sound Off | Silenzia ogni voce in una volta |
| 121 | Reset All Controllers | Riporta i controller al loro stato predefinito |
| 122 | Local Control | 0 è spento, 127 è acceso: se i tasti suonano il suono proprio del sintetizzatore |
| 123 | All Notes Off | Rilascia ogni nota tenuta |
| 124 e 125 | Omni Mode Off e On | Se il dispositivo ascolta su un canale o su tutti |
| 126 e 127 | Mono Mode On e Poly Mode On | Una nota per canale, oppure accordi |
L'elenco della MIDI Association nota che anche da 124 a 127 spengono tutte le note. Un pulsante di panico è per lo più CC 123 e CC 120 inviati su tutti i 16 canali. Il MIDI panic elenca i byte esatti.
Leggi i messaggi di sistema
I messaggi di sistema cominciano con F e non portano alcun canale, quindi ogni dispositivo sul cavo può leggerli. Da F0 a F7 sono messaggi comuni di sistema e da F8 a FF sono messaggi in tempo reale, i soli ammessi nel mezzo di un messaggio SysEx.
| Stato (esadecimale) | Messaggio | Dati | Altro |
|---|---|---|---|
| F0 | System Exclusive | ID del produttore, poi un numero qualsiasi di byte di dati, fino a F7 | SysEx |
| F1 | MIDI Time Code quarter frame | Un byte: un pezzo del time code | |
| F2 | Song Position Pointer | Due byte: un conteggio a 14 bit dei battiti dall'inizio, dove un battito è 6 clock | |
| F3 | Song Select | Un byte: quale brano o sequenza | |
| F6 | Tune Request | Nessuno. Chiede ai sintetizzatori analogici di accordare i loro oscillatori | |
| F7 | End of Exclusive | Nessuno. Chiude un messaggio SysEx | |
| F8 | Timing Clock | Nessuno. Inviato 24 volte per ogni semiminima | clock MIDI |
| FA, FB, FC | Start, Continue, Stop | Nessuno | clock MIDI |
| FE | Active Sensing | Nessuno. Facoltativo, almeno ogni 300 ms una volta che un dispositivo comincia a inviarlo | |
| FF | Reset | Nessuno. Riporta i ricevitori allo stato di accensione |
F4, F5, F9 e FD non sono definiti. Clock, Start e Stop sono messaggi di sistema, quindi non portano mai un canale. Per i dump SysEx e le app che li inviano, vedi la pagina sul SysEx librarian per Mac.
Cerca i numeri CC che vale la pena conoscere
Molti dei 120 numeri di Control Change sono lasciati indefiniti, ma alcuni hanno nomi nello standard MIDI che sintetizzatori e app seguono. Questi vengono dall'elenco dei Control Change della MIDI Association.
| CC | Nome | Altro |
|---|---|---|
| 0 e 32 | Bank Select, MSB e LSB | MSB e LSB |
| 1 | Rotella di modulazione | elenco dei CC |
| 2 | Breath controller | |
| 4 | Foot controller | |
| 6 e 38 | Data Entry, MSB e LSB | NRPN e RPN |
| 7 | Channel Volume | |
| 10 | Pan | |
| 11 | Expression | |
| 64 | Pedale di sustain (damper): da 0 a 63 spento, da 64 a 127 acceso | pedale di sustain |
| 65, 66, 67 | Portamento, Sostenuto e pedale Soft, acceso o spento | |
| 98 e 99 | Numero NRPN, LSB e MSB | NRPN e RPN |
| 100 e 101 | Numero RPN, LSB e MSB | NRPN e RPN |
I controller da 32 a 63 sono le metà fini, gli LSB, dei controller da 0 a 31, ed è così che Bank Select diventa CC 0 più CC 32. CC 64 è un interruttore, quindi qualsiasi valore da 64 in su significa che il pedale è premuto. L'elenco dei CC MIDI riporta ogni numero.
Guarda cosa legge e invia InputConfig
InputConfig trasforma il MIDI di una tastiera, di un controller a pad o di una DAW in tasti, clic, volume del Mac e altro, e invia MIDI da un controller da gioco o da una tastiera tramite una porta virtuale chiamata InputConfig. Ecco l'elenco onesto, messaggio per messaggio.
| Messaggio | Associabile come ingresso | Inviabile come uscita |
|---|---|---|
| Note On e Off | Sì, come pulsante tenuto premuto | Sì, alla velocity impostata nella riga |
| Control Change | Sì, come interruttore, manopola o rotazione | Sì, un valore fisso o la posizione di una levetta o di un grilletto |
| Pitch Bend | Sì, più e meno come una levetta | Sì, da un asse di una levetta o da un pulsante |
| Aftertouch | Sì | No |
| Program Change | Sì, e può attivare un preset | Sì |
| Start, Continue, Stop | Sì | Sì |
| Timing Clock | No | No |
| System Exclusive | No | No |
| NRPN e RPN | No | No, invia singoli messaggi |
Due dettagli mettono in difficoltà. I pulsanti non sono sensibili alla velocity, quindi ogni uscita MIDI Note suona alla velocity impostata nella sua riga, da 1 a 127, e un grilletto su CC 11 è il modo per ottenere dinamica. E una manopola in modalità Switch scatta quando il valore supera la metà, il che trasforma un pedale di sustain in un interruttore acceso e spento.


Se un controllo invia una nota, un CC, un pitch bend o un Program Change, InputConfig può associarlo. Da MIDI a tasti e l'uscita MIDI spiegano la configurazione.
Se un messaggio non è quello che ti aspettavi
La maggior parte delle sorprese viene dalla numerazione, non da un'attrezzatura rotta. Sali questa scala, dal passo più piccolo:
- Controlla il conteggio dei canali. Il byte dice da 0 a 15 e l'app dice da 1 a 16. Un dispositivo sul canale 10 invia 99 per un Note On.
- Controlla il conteggio dei programmi. Il messaggio porta da 0 a 127, e molti elenchi di patch mostrano da 1 a 128, quindi la patch 1 viene inviata come 0.
- Cerca un Note Off nascosto. Un Note On con velocity 0 chiude la nota, quindi un registro pieno di Note On può comunque rilasciare tasti.
- Decodifica i byte grezzi. Incollali nel decodificatore di messaggi MIDI, oppure guardali arrivare nel tester MIDI.
Lo scarto di uno è il bug più comune del MIDI.
Approfondisci un singolo messaggio
- Note. Velocity, numeri di nota e la mappa della batteria General MIDI.
- Pressione. Aftertouch di canale e polifonico.
- Controller. Il pedale di sustain, MSB e LSB, NRPN e RPN e MIDI learn.
- Patch. Program Change.
- Intonazione. Pitch Bend.
- Tempo e sicurezza. Clock MIDI, MIDI panic e MIDI Thru.
- Dati. SysEx.
Ogni pagina qui prende una riga delle tabelle e la spiega con esempi. Se per te è tutto nuovo, comincia da cos'è il MIDI.
In breve
- Prima lo stato. Un byte di 80 esadecimale o più apre un messaggio, e i byte dopo sono valori da 0 a 127.
- Messaggi di canale. Da 80 a EF, con il canale nell'ultima cifra.
- Messaggi di sistema. Da F0 a FF, senza canale: SysEx, clock, Start, Stop e il resto.
- Numeri grandi. Due byte di dati fanno da 0 a 16383, come nel Pitch Bend.
Leggi la prima cifra del byte di stato e sai che tipo di messaggio è.
Domande
Quanti tipi di messaggi MIDI esistono?
Il MIDI 1.0 ha sette messaggi di canale (Note Off, Note On, pressione polifonica, Control Change, Program Change, pressione di canale e Pitch Bend), i messaggi di modo del canale su CC da 120 a 127 e i messaggi di sistema da F0 a FF.
Cos'è un byte di stato MIDI?
Il primo byte di un messaggio, da 80 a FF esadecimale. Dice che messaggio è e, per i messaggi di canale, su quale dei 16 canali si trova.
Qual è la differenza tra CC e NRPN?
Un CC è un solo messaggio con un numero di controller e un valore da 0 a 127. Un NRPN sceglie un parametro con CC 99 e 98 e lo imposta con Data Entry su CC 6 e 38, quindi una modifica richiede tre o quattro messaggi.
Quali messaggi MIDI supporta InputConfig?
Associa note, Control Change, pitch bend, aftertouch, Program Change e Start, Continue e Stop, e invia note, Control Change, pitch bend, Program Change e il trasporto. Non gestisce clock, SysEx o NRPN.
Il clock MIDI è un messaggio di canale?
No. Timing Clock, F8, è un messaggio di sistema in tempo reale senza canale, inviato 24 volte per ogni semiminima.
Altro in italiano
Guide complete, in inglese
Chi scrive. Ryleigh Newman sviluppa InputConfig e ogni giorno usa il proprio Mac con un controller, perché le mani non funzionano bene. Questa pagina è tradotta dall'inglese. I pulsanti e i menu principali dell'app compaiono in italiano quando il Mac è impostato in italiano; questa pagina li chiama così, con il nome inglese tra parentesi. Il resto dell'app e del sito è in inglese.
Questa pagina in altre lingue: English, Deutsch, Español, Français, 日本語, 한국어, Polski, Português, Русский, ไทย, 繁體中文, 简体中文
Gratis. macOS 14 o versioni successive. Senza account, niente lascia il tuo Mac. Open source su GitHub.