___________________________________________________________________________
Il protocollo MIDI
Introduzione
pag 1
La Struttura e connessioni
pag 2
pag 5
pag 7
Il Local control
pag 11
I messaggi di Sistema
pag 12
pag 15
Introduzione
Con un computer dedicato, costituente, insieme alla scheda audio, al sistema di
ascolto, alla tastiera musicale e ai software, un sistema di informatica musicale,
registriamo, elaboriamo ed esportiamo principalmente due tipi di dati: audio e MIDI.
Quest'ultima tipologia consente ad un utente di trasferire e registrare al computer le
informazioni relative alla sua esecuzione musicale utilizzando un particolare strumento
costituito da una tastiera musicale riproducente quella di un pianoforte.
Il MIDI (Musical Instrument Digital Interface) un protocollo formato da un insieme di
messaggi e di regole per la comunicazione tra strumenti tipicamente musicali e non
solo.
Il MIDI venne realizzato agli inizi degli anni '80 soprattutto per facilitare il gravoso
compito dei tastieristi, obbligati ad utilizzare molti sintetizzatori contemporaneamente
a causa delle difficolt dell'allora tecnologia nel realizzare frasi polifoniche e
soprattutto nell'utilizzare suoni complessi multi timbrici. Infatti, in un periodo che
intravedeva la possibilit di un impiego del digitale, i sintetizzatori offrivano poche
note di polifonia e pochi preset mono timbrici.
Nel 1981 Dave Smith e Chet Wood, progettisti della societ americana Sequential
Circuit che produceva i sintetizzatori Prophet, iniziarono a definire le linee per un
protocollo di comunicazione in grado di controllare la polifonia e la timbricit. Durante
la fiera NAMM (North American Music Manufacturers) a Los Angeles nell'estate del
1983 venne presentato il primo sintetizzatore (un Prophet 600) dotato di protocollo
MIDI e di porte di comunicazione. L'interesse e il successo furono tali che
praticamente
tutti
Silvio Relandini 1
pi
grandi
costruttori
di
sintetizzatori
aderirono
alla
Il protocollo MIDI
___________________________________________________________________________
Struttura e connessioni
Il protocollo costituito da centinaia di messaggi ognuno dei quali formatoi da
parole (word) di uno o pi byte (ricordando che un byte una stringa di otto bit) che
trasferiscono le intenzioni tecniche ed espressive musicali che un esecutore esegue su
uno strumento musicale, definito master, ad un altro, chiamato slave, il cui unico
scopo quello di fornire il supporto timbrico. Pertanto, le azioni tipiche quali hai
suonato una nota sulla tastiera o hai premuto il pedale del sustain vengono
associate ad un univoco messaggio MIDI (nel primo caso a quello detto di NOTA ON
mentre nel secondo caso al messaggio SUSTAIN). Insistiamo nel precisare che i
messaggi MIDI non portano informazioni audio ma solamente una codifica delle azioni
che il musicista compie sul controller (una tastiera MIDI). Sar poi lo slave a fornire il
segnale audioovvero il timbro.
I computer, i mixer digitali, gli strumenti musicali elettronici, i processori di segnale
audio, i controller, i sistemi DAW, hanno tutti o quasi in dotazione uninterfaccia
hardware per poter comunicare tramite il protocollo MIDI. Questa interfaccia dotata
di porte MIDI per ricevere e trasmettere i messaggi MIDI. Funzionalmente esistono tre
tipologie di porte MIDI:
- La porta MIDI IN, utilizzata per ricevere i messaggi inviati da unaltra macchina
- La porta MIDI OUT, impiegata per inviare i messaggi ad altri strumenti
- La porta MIDI THRU, consente di reindirizzare un messaggio proveniente alla porta
MIDI IN verso un altro strumenti.
Ricapitolando, utilizzando un cavo MIDI, la porta OUT va collegata ad una porta IN
mentre la porta THRU ancora ad una porta IN. Se ad esempio avessimo una tastiera
musicale master e due strumenti slave, la configurazione MIDI sarebbe quella riporta
nella figura seguente:
Silvio Relandini 2
Il protocollo MIDI
___________________________________________________________________________
Suonando una nota sulla tastiera Master, un messaggio MIDI viene inviato alla porta
OUT; da qui raggiunge il primo Slave e, tramite il collegamento THRU, anche il
secondo.
Non raro, anzi la norma, volere che alcuni messaggi siano interpretabili solamente
dallo Slave 1 mentre altri solamente dal secondo. In che modo possiamo realizzare
questa volont? Semplicemente utilizzando una propriet dei messaggi MIDI: il
canale. Esistono 16 canali indipendenti dove possibile far viaggiare i messaggi MIDI:
in tal modo possiamo assegnare ogni singolo messaggio su un canale specifico ed
impostare la ricezione MIDI dello slave su quel canale in modo da ignorare tutti i
messaggi indirizzati sugli altri canali. Ogni strumento musicale elettronico dotato di
interfaccia MIDI ha delle pagine di editing dove possibile impostare il canale di
ricezione (MIDI Receive, Rx) e quello di trasmissione (MIDI Transmit, Tx) per cui
basta far riferimento al manuale dutilizzo dello strumento per trovare le pagine di
editing. Se ad esempio impostiamo in ricezione lo Slave 1 sul canale MIDI 2 e lo Slave
2 sul canale 6, quando inviamo dalla Master un messaggio sul canale 6, questo giunge
allo Slave 1 che per lo ignora, mentre inviato contemporaneamente allo Slave 2
(tramite la porta THRU) che invece lo interpreta.
Il collegamento appena illustrato, costituito cio dalle sequenze MIDI OUT -> IN,
THRU -> IN, THRU ->.. chiamato a cascata o seriale. Sebbene sia semplice
sconsigliato se si devono collegare numerosi dispositivi Slave ad ununica Master in
quanto insorgono problemi di latenza (ritardo del segnale). I messaggi MIDI vengono
trasmessi in maniera seriale e asincrona (ovvero occorrono 1 bit di start e uno di stop)
alla velocit di 31.250 bit al secondo.
Nel caso si devono collegare numerosi strumenti il caso di utilizzare un collegamento
detto a stella realizzabile tramite una THRU Box, un harware costituito da una porta
IN e da 2 o pi porte THRU (fino ad un massimo di 16). Nellimmagine seguente
illustrato un tipico schema di collegamento a stella.
Silvio Relandini 3
Il protocollo MIDI
___________________________________________________________________________
Poich le interfacce MIDi dei computer sono dotate di sole porte IN e OUT, queste
ultime si comportano anche come delle porte TRHU (lopzione pu essere nominata
patch thru, echo thru, thru on/off) rendendo possibile controllare gli Slave dalla
passando attraverso il sequencer.
Ultimamente esistono controller in grado di inviare al computer messaggi MIDI tramite
le porte USB, Lan e Firewire. Inoltre, da qualche anno, esistono inoltre dei Virtual
Instrument, dei semplici programmi residenti nel computer, ovvero degli slave
virtuali i cui collegamenti MIDI sono di natura virtuale (logica) e che quindi vengono
gestiti direttamente allinterno del sequencer senza necessit di cablaggi hardware.
Silvio Relandini 4
Il protocollo MIDI
___________________________________________________________________________
Il byte diviso in due nibble (gruppo di 4 bit) chiamati MSB (Most Significant Bit) e
LSB. Nel primo presente il bit pi significativo, utilizzato per il riconoscimento dello
Status, mentre i tre rimanenti bit, indicati con la lettera V sono utilizzati per
specificare i vari messaggi. Poich con 3 bit possibile avere otto combinazioni
possibili (in quanto 23=8) illustrate nellimmagine seguente.
Silvio Relandini 5
Il protocollo MIDI
___________________________________________________________________________
Quando abbiamo a che fare con i messaggi di sistema, il Least Significant Bit LSB
attualmente rappresenta 12 messaggi (quattro combinazioni non sono ancora
utilizzate).
Silvio Relandini 6
Il protocollo MIDI
___________________________________________________________________________
In questo caso, sono a disposizione sette bit e quindi 128 possibili valori (27=128)
che, a seconda dei casi, sono esprimibili come intervallo 1 128 o come 0 127.
Silvio Relandini 7
Il protocollo MIDI
___________________________________________________________________________
Silvio Relandini 8
Il protocollo MIDI
___________________________________________________________________________
PITCH BENDER le tastiere master sono provviste di slider o joystick con le quali
possibile variare laltezza di una nota in esecuzione. Occorrono due data byte per
definire ivalori di incremento o diminuzione dellaltezza sufficientemente fluidi e privi
di zippering (salti) allascolto. I due data byte forniscono in totale 16384 valori
possibili.
Limmagine seguente mostra la lista attualmente implementata. Alcuni non sono stati
definiti, e la loro attribuzione genericamente rispettata anche se, in determinate
situazioni, costruttori diversi possono utilizzarli per modificare qualche parametro delle
proprie macchine.
Silvio Relandini 9
Il protocollo MIDI
___________________________________________________________________________
ai
Channel
Mode
Message,
messaggi
che
stabiliscono
possibili
in base alla
Silvio Relandini 10
Il protocollo MIDI
___________________________________________________________________________
Local Control
Tra i diversi control change, ne esiste uno molto particolare chiamato Local Control
che utilizzato quando la master possiede al suo interno un modulo sonoro. In tal
caso, per evitare che la tastiera musicale invii il messaggio di Nota On anche al
generatore di suoni interno, ocorre impostare la master su Local OFF (vedere il
manuale operativo della tastiera). Di conseguenza, il messaggio MIDI sar inviato
solamente alla porta MIDI Out come mostrato in figura.
Silvio Relandini 11
Il protocollo MIDI
___________________________________________________________________________
System Message
I messaggi di sistema si dividono, come abbiamo, visto in tre categorie:
1) Common Message, quattro in totale, danno istruzioni generali a tutto il sistema:
- MIDI Time Code Quarter Frame, un messaggio di time code nel formato
ore:minuti:secondi:frame. Ogni otto messaggi di MIDI Time Code (MTC) identificano
una locazione del codice SMPTE. quindi un messaggio utilizzato per sincronizzare
macchine differenti.
- Song Position Pointer, indica la posizione che il cursore deve assumere durante la
riproduzione di un file MIDI.
Silvio Relandini 12
Il protocollo MIDI
___________________________________________________________________________
- Start, viene utilizzato per portare tutti gli strumenti esterni alla posizione iniziale della song e a
farle partire in riproduzione o registrazione.
Silvio Relandini 13
Il protocollo MIDI
___________________________________________________________________________
- Active Sensing, inviato ogni 300 millisecondi, utilizzato per tenere attiva la
connessione tra master e slave.
Silvio Relandini 14
Il protocollo MIDI
___________________________________________________________________________
MIDIFile
Un midifile una sequenza di dati MIDI costituiti da diversi messaggi distribuiti nei
vari canali in grado di essere interpretata da qualsiasi strumento dotato di porte MIDI.
Lo standard midifile (SMF) stato realizzato nel 1986 dalla Opcode System ed ha
come estensione .mid. E un file di testo codificato ASCII e pertanto occupa poco
spazio. Lo standard midifile diviso in tre formati:
formato 0: racchiude tutti i dati MIDI su ununica traccia.
formato 1: propone i vari dati MIDI su pi tracce.
formato 2: raro da incontrare ma molto potente in quanto consente di mantenere una
certa indipendenza metrica sui dati conservati nelle singole tracce.
Silvio Relandini 15