Appunti‎ > ‎Protocollo MIDI‎ > ‎

Classificazione dei messaggi MIDI

I messaggi MIDI si possono dividere in due macro-categorie:

  • Channel Messages (che si applicano a canali specifici, come poi vedremo)
  • System Messages (che invece non sono canalizzati e che sono diretti indistintamente a tutte le macchine collegate al network) 

Da un punto di vista protocollare i messaggi MIDI sono composti da uno Status byte, la cui stringa comincia per 1 (1xxx-xxxx) seguito da 1 o 2 Data bytes, riconoscibili dalla stringa che inizia invece con 0 (0xxx-xxxx), il numero dei Data bytes cambia a seconda del tipo di messaggio

I Channel Message si dividono poi a loro volta in:

  • Channel Voice Messages (che veicolano dati di note, timbri, controllers, sliders e tutte le informazioni più strettamente “musicali” dell’esecuzione): Note On, Note Off, Channel Pressure, Poly Pressure, Control Change, Program Change, Pitch Bend 
  • Channel Mode Messages (messaggi che controllano il funzionamento delle voci del generatore sonoro), una particolare famiglia di control changes: 121 Reset all controllers, 122 Local on-off, 123 All notes off, 124-127 Omni on-off/Poly-Mono mode 


System Messages, che non hanno canale e sono ricevuti da tutti gli strumenti del network, si dividono a loro volta in:

  • System Common (comuni a tutto il network): Song Position Pointer, Song Select, Tune request, End of Exclusive 
  • System Real-time (caratterizzati dalla presenza del solo status bytes), utilizzati per la sincronizzazione tra sequencers e drum machines: MIDI Clock, Start/Stop, Active Sensing, System Reset 
  • System Exclusive classe di messaggi destinati a veicolare la trasmissione dei dati delle patch di un sintetizzatore o di quant’altro riguarda strettamente l’architettura dello strumento trasmittente (esteso poi ad includere MIDI Time Code, MIDI sample dump, MIDI Machine Control, MIDI Show Control)