Appunti‎ > ‎Protocollo MIDI‎ > ‎

System Messages

I System Common Messages, caratterizzati dallo Status Byte 11110xxx sono di quattro tipi: Song Position Pointer, usato per istruire una macchina sincronizzata come schiava a posizionarsi ad un certo punto della song, viene rappresentato da 2 bytes con risoluzione 14 bit come numero di clock trascorsi dal punto di inizio della song, Song Select, per scegliere il numero della song da riprodurre (similmente al Program Change), può assumere 128 valori (ha un solo Data Byte), Tune Request, che resetta l’accordatura sullo strumento ricevente (sempre che sia stata alterata) ed EOX End of Exclusive, accomunati dalla caratteristica che entrambi hanno solo lo Status Byte).

Anche i System Real-time Messages, caratterizzati dallo Status Byte 11111xxx hanno solo lo Status byte e sono anch’essi di quattro tipi: MIDI Clock, che consiste in un codice di tempo relativo, permette di sincronizzare una macchina esterna mediante trasmissione di 24 messaggi/clocks per quarto o semiminima), Start/Stop, anch’esso diretto ad una macchina schiava, Active Sensing, che consiste in uno status byte trasmesso ogni 300 ms in assenza di attività MIDI, messaggio inutilmente ridondante per l’editing con i sequencers ma implementato per rimediare alle stuck notes causate da eventuali disconnessioni fortuite durante l’utilizzo Live), System Reset, messaggio quest’ultimo dal significato auto-esplicativo.


L’ultima classe di messaggi MIDI è costituita dai System Exclusive Messages, che sono come già ci dice il nome “esclusivi” per ogni specifico strumento, e sono relativi alla particolare struttura dello strumento, e per tale motivo non intercambiabili quindi tra strumenti con differenti strutture foniche. Ogni casa costruttrice è registrata presso la MMA (MIDI Manifacturers Association) con un SysEx ID esclusivo (a titolo di esempio Sequential Circuits=01, Yamaha=67, Moog=04, Digidesign=19, Apple=17, etc). Un set di istruzioni SysEx comincia con la stringa 11110000 (messaggio Start of Exclusive o F0), seguito dal byte recante l’ID del fabbricante, da un numero imprecisato di Data bytes, e finisce con la stringa 11110111 (End of Exclusive o F7), che ne identifica la fine. Non è permesso miscelare altri tipi di messaggi fino all’EOX, ogni strumento del network (anche più unità dello stesso tipo) può avere un differente SysEx ID per garantire l’indirizzamento univoco dei messaggi SysEx verso una macchina in particolare, anche in presenza di più macchine uguali all’interno dello stesso network.