Italiano

Tabella dei messaggi MIDI: ogni tipo, byte di stato e intervallo

Scarica InputConfig dal Mac App StoreQuesta 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

  1. Leggi in esadecimale il primo byte del messaggio.
  2. 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.
  3. Se va da F0 a FF, è un messaggio di sistema senza canale, quindi cercalo nella tabella di sistema.
  4. Leggi i byte di dati che seguono, ciascuno da 0 a 127, usando la tabella dei canali.
  5. 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.

MessaggioStato (esadecimale)Byte di dati 1Byte di dati 2Altro
Note Offda 80 a 8FNumero di nota, da 0 a 127Velocity di rilascio, da 0 a 127numeri di nota
Note Onda 90 a 9FNumero di nota, da 0 a 127Velocity, da 0 a 127 (0 vale come Note Off)velocity
Pressione polifonica dei tastida A0 a AFNumero di nota, da 0 a 127Pressione, da 0 a 127aftertouch
Control Changeda B0 a BFController, da 0 a 119Valore, da 0 a 127elenco dei CC
Program Changeda C0 a CFProgramma, da 0 a 127Nessunoprogram change
Pressione di canaleda D0 a DFPressione, da 0 a 127Nessunoaftertouch
Pitch Bendda E0 a EFMetà fine (LSB), da 0 a 127Metà grossolana (MSB), da 0 a 127pitch 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.

ControllerNomeCosa fa
120All Sound OffSilenzia ogni voce in una volta
121Reset All ControllersRiporta i controller al loro stato predefinito
122Local Control0 è spento, 127 è acceso: se i tasti suonano il suono proprio del sintetizzatore
123All Notes OffRilascia ogni nota tenuta
124 e 125Omni Mode Off e OnSe il dispositivo ascolta su un canale o su tutti
126 e 127Mono Mode On e Poly Mode OnUna 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)MessaggioDatiAltro
F0System ExclusiveID del produttore, poi un numero qualsiasi di byte di dati, fino a F7SysEx
F1MIDI Time Code quarter frameUn byte: un pezzo del time code
F2Song Position PointerDue byte: un conteggio a 14 bit dei battiti dall'inizio, dove un battito è 6 clock
F3Song SelectUn byte: quale brano o sequenza
F6Tune RequestNessuno. Chiede ai sintetizzatori analogici di accordare i loro oscillatori
F7End of ExclusiveNessuno. Chiude un messaggio SysEx
F8Timing ClockNessuno. Inviato 24 volte per ogni semiminimaclock MIDI
FA, FB, FCStart, Continue, StopNessunoclock MIDI
FEActive SensingNessuno. Facoltativo, almeno ogni 300 ms una volta che un dispositivo comincia a inviarlo
FFResetNessuno. 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.

CCNomeAltro
0 e 32Bank Select, MSB e LSBMSB e LSB
1Rotella di modulazioneelenco dei CC
2Breath controller
4Foot controller
6 e 38Data Entry, MSB e LSBNRPN e RPN
7Channel Volume
10Pan
11Expression
64Pedale di sustain (damper): da 0 a 63 spento, da 64 a 127 accesopedale di sustain
65, 66, 67Portamento, Sostenuto e pedale Soft, acceso o spento
98 e 99Numero NRPN, LSB e MSBNRPN e RPN
100 e 101Numero RPN, LSB e MSBNRPN 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.

MessaggioAssociabile come ingressoInviabile come uscita
Note On e OffSì, come pulsante tenuto premutoSì, alla velocity impostata nella riga
Control ChangeSì, come interruttore, manopola o rotazioneSì, un valore fisso o la posizione di una levetta o di un grilletto
Pitch BendSì, più e meno come una levettaSì, da un asse di una levetta o da un pulsante
AftertouchSìNo
Program ChangeSì, e può attivare un presetSì
Start, Continue, StopSìSì
Timing ClockNoNo
System ExclusiveNoNo
NRPN e RPNNoNo, 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.

Il Live Visualizer di InputConfig nella sua vista MIDI con il preset MIDI: Knob Deck, che mostra una tastiera, manopole e gli ultimi messaggi.
Figure 1. Il Live Visualizer chiama ogni manopola con il suo numero CC, quindi CC 7, 10, 64, 71 e 1 qui si leggono direttamente dalla tabella sopra.
L'editor di InputConfig con righe della croce direzionale che inviano ciascuna un Program Change, una con un Bank Select prima.
Figure 2. CC 0 e Program Change che lavorano insieme. La croce direzionale in alto invia Bank Select, poi un Program Change, con una sola pressione.

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

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, Русский, ไทย, 繁體中文, 简体中文

Scarica InputConfig dal Mac App StoreGratis. macOS 14 o versioni successive. Senza account, niente lascia il tuo Mac. Open source su GitHub.