Sei sulla pagina 1di 17

il MIDI

(Musical Instrument Digital Interface)

protocollo standard per l'interazione degli strumenti musicali elettronici


(compresi i computers)

Il MIDI
pag 1 di 17
il MIDI è:

 un linguaggio informatico, ossia una serie di specifiche che danno vita ad


un “protocollo”;
 un'interfaccia hardware che consente il collegamento fisico tra vari
strumenti.
 una serie di formati standard di files come l'SMF (Standard MIDI File).

Il MIDI
pag 2 di 17
Il MIDI come HARDWARE:

protocollo per lo scambio di messaggi progettato per l'uso con strumenti musicali
elettronici e della relativa interfaccia fisica.
Un collegamento MIDI consiste in una connessione seriale unidirezionale (simplex) a
loop di corrente, che funziona ad una velocità di trasmissione di 31,250 bps (bit al
secondo).
I cavi MIDI sono dotati di connettori DIN 5 a pin maschi (di cui solo 3 sono utilizzati
realmente) ad entrambe le estremità, ed è rimasta praticamente l'unica applicazione per
questo genere di connettori.

per l’interconnessione tra i vari strumenti lo standard MIDI prevede l'uso di una triade
di connettori.

Il MIDI
pag 3 di 17
I tre connettori vengono distinti come:
* IN (consente allo strumento di ricevere informazioni).
* OUT (consente la trasmissione delle informazioni).
* THRU (consente allo strumento di ritrasmettere i dati ricevuti dal
proprio MIDI IN verso un altro strumento).

Il MIDI
pag 4 di 17
Il MIDI come PROTOCOLLO (e formato file):
il MIDI è un linguaggio di descrizione musicale in formato binario, nel quale ogni
parola binaria descrive un evento di un'esecuzione musicale.
Inizialmente il MIDI fu sviluppato per le tastiere: molti di questi eventi sono quindi
orientati all'utilizzo della tastiera.
premere una nota come l'attivazione di un'interruttore in posizione On (Acceso) e il
suo rilascio come portare lostesso interruttore in posizione Off (Spento). Per
identificare quale nota viene attivata o spenta sulla tastiera (o qualsiasi altro di-
spositivo), a ogni nota assegnato un numero.
sotto forma di messaggi MIDI, è possibile trasmettere e/o registrare qualunque
performance musicale eseguita su uno o più strumenti elettronici.
Un file MIDI (.mid ma più precisamente SMF, ovvero standard MIDI file) è quindi un
file che contiene dati comunicabili tramite il protocollo MIDI. Grazie a delle
applicazioni software chiamate sequencer, installabili sia in unità hardware specifiche,
sia in normali personal computer, si possono leggere ed interpretare tali files, per
poterli successivamente modificare ed eseguire.

Il MIDI
pag 5 di 17
Il compito di sincronizzare le varie sequenze MIDI è delegato al "codice temporale
MIDI", standard mondiale per la sincronizzazione della musica digitale, che costituisce
un'implementazione del codice temporale SMPTE.
Tramite il formato .kar (abbreviazione di karaoke), estensione del MIDI, è anche
possibile sincronizzare il testo di una canzone con la musica.

i Messaggi del protocollo MIDI


Il MIDI è un sistema di comunicazione binario; il protocollo però supporta diversi tipi
di messaggio, che una volta formattato andranno a formare parole di svariati bit da
trasmettere o memorizzare. Ogni tipo di messaggio midi ha caratteristiche proprie, ma
(tranne applicazioni speciali) ha in comune almeno un dato, ovvero il canale.
Il MIDI supporta fino 16 canali (1-16).
Un canale MIDI è come un canale radiofonico o televisivo. @ un modo per il MIDI di
isolare informazioni affAnchB uno strumento ricevitore impostato a un certo canale filtri
tutte le altre informazioni della trasmissione e riproduca o processi soltanto quelle per
le quali è sintonizzato
il MIDI utilizza una parola di 8 bit (1 byte) per trasmettere le proprie informazioni
Il MIDI
pag 6 di 17
attraverso una trasmissione seriale (più due bit di controllo per ogni byte).
I messaggi sono divisi in due categorie:
• i messaggi di Stato: identifica il tipo di informazione inviata attraverso il MIDI ed
include il numero di canale su cui viaggia (utilizzano i numeri compresi in un
intervallo tra 128 e 255, da 1000 0000 a 1111 1111 in numeri binari)
• i messaggi di Dati: comunica al dispositivo di ricezione quali valori sono associati
all'evento situato nella porzione del messaggio di Stato (utilizzano un intervallo
compreso tra 0 e 127, da 0000 0000 a 0111 1111 in numeri binari)
Per esempio, se premuto un D04 con media intensità, il messaggio di Stato conterrà un
evento di "note on" e il messaggio di Dati sarà un numero di valore di nota pari a 60 e
un livello di velocity di circa 64
Nel protocollo MIDI i messaggi non hanno lunghezza fissa. Nella rappresentazione
binaria dei messaggi MIDI, la prima cifra a sinistra nel byte di stato (il valore più
significativo, conosciuto anche come Most Significant bit o MSB) è un 1, e nel byte di
dati questo valore è 0. In questo modo il messaggio MIDI riconosce se un byte è un
messaggio byte di stato o di dati.

Il MIDI
pag 7 di 17
NB: Questo utilizzo dell'ottavo bit (il MSB) limita il numero di valori possibili
all'interno del MIDI a una parola di 7 bit, o 128 valori differenti, in un intervallo da 0 a
127. Per questo motivo i valori nel MIDI, come i numeri di nota, sono numerati da 0 a
127. In un utilizzo standard del protocollo midi si parla nei suoi messaggi di una
risoluzione a 7-bit.
I messaggi MIDI possono essere presentati in tre formati:
• valori decimali: 127
• valori binari: 01111111
• valori esadecimali: 7F

Il MIDI
pag 8 di 17
Messaggi Channel Voice

Note on/off – Inviano il numero di nota da eseguire/silenziare insieme alla sua


velocity (ovvero intensità di pressione) ed ovviamente al canale.
Channel Pressure o Channel Aftertouch – entra in azione nel momento in cui si
preme ancora più forte un tasto su cui già si esercitava una pressione. Nella maggior
parte dei casi, verrà aggiunta una sorta di modulazione simile a un vibrato al suono
eseguito in quel momento. Il messaggio dati conterrà il valore di pressione applicato sui
tasti (un numero unico).
Polyphonic Aftertouch – simile all'aftertouch di canale, determina la quantità di
pressione che si esercita su una serie di tasti una volta che sono stati premuti in
modalità polifonica (ogni nota può possedere un proprio valore di pressione)
Program Change (PC) – utilizzati per comunicare al MIDI device che li riceve di
attivare un corrispondente patch o preset (per esempio un cambio di timbro su un
determinato canale).

Il MIDI
pag 9 di 17
Pitch Bend Change (PB) – utilizzati per eseguire glissandi in alto o in basso di
TUTTE le note eseguite su un singolo canale. Solitamente per questo messaggio, vista la
sua particolare natura, sono riservati molti più valori di variazione rispetto ai canonici
128 valori. il pitch bend può possedere una risoluzione di 16.384, corrispondenti a 14-
bit di variazione del dato (ovvero due parole da 7-bit trasmesse in serie).

Controller Change (CC) – set di controlli assegnabili (in un range da 0 a 127) al


controllo di svariati parametri su ogni canale (volume, panpot, vibrato/modulation,
control filters, LFO's, effect parameters, etc.). I messaggi di CC hanno in realtà una
standardizzazione, ovvero svariati numeri di controller sarebbero riservati per funzioni
specifiche (x es. il controller 7 corrisponde alla variazione di volume del canale, il 64 alla
pressione del pedale di sutain).
Lo stesso meccanismo utilizzato per il pitch bend può essere implementato anche per
qualsiasi controllo continuo, convertendolo da 7 a 14-bit. Come standard si è scelto di
utilizzare il numero standard di controller per la variazione grossolana (ovvero per il
MSB, Most Significant Byte), ed il numero di controller + 32 per la variazione fine
(ovvero per l'LSB, less significant Byte).
x es. il Controller modulation wheel (CC1) può essere controllato finemente unendo al
messaggio di CC1 quello di CC33 per le sue variazioni fini.

Il MIDI
pag 10 di 17
Analogo comportamento di ritrova nei controller midi. se un controllo viene impostato
a 14-bit esso trasmetterà sul numero di controller assegnato il MSB, e sul numero
assegnato + 32 l'LSB.
Messaggi Channel Mode
I modi di attività MIDI influiscono su come il dispositivo risponde ai messaggi MIDI in
arrivo e come ritrasmetterli. Tale modalità può essere variata con messaggi channel
mode (che sono nidificati negli ultimi otto valori dell'insieme dei control change (i
numeri di control change che vanno da 120 a 127). Il loro byte di stato è quindi identico
a un messaggio Channel Voice contenente una funzione Control Change.
Messaggi System Common
I messaggi System Common sono pensati per tutti i canali di un sistema e aumentano le
funzioni degli altri comandi MIDI; non sono in relazione a nessun canale specifico.
Nella maggior parte dei casi, questi messaggi si riferiscono alle caratteristiche di
sincronizzazione e vengono utilizzati con i sequencer.
MTC (MidiTime Code) Quarter Frame –contiene solo un byte di dati, che comprende il
tipo di time code e il valore dell'indirizzo temporale. Viene chiamato Quarter Frame,
poichB ciascun messaggio contiene un quarto di informazione: nel primo messaggio
viene fornito il valore relativo all'ora, nel secondo quello relativo ai minuti, nel terzo i
Il MIDI
pag 11 di 17
secondi e l'ultimo fornisce il numero di fotogramma. Vengono quindi utilizzati quattro
messaggi MIDI per comunicare l'indicazione temporale SMPTE.

Messaggi System Real Time


I messaggi System Real Time controllano in tempo reale tutti i dispositivi del sistema e
sono indipendenti dal canale. Vengono utilizzati per sincronizzare i dispositivi basati
sul clock, come i sequencer, utilizzando messaggi con un singoio byte di stato.

Messaggi System Exclusive


I messaggi System Exclusive bvengono utilizzati per inviare alcuni dati specifici per un
particolare dispositivo MIDI. Per esempio impostazioni di configurazione, firmware,
hidden features, etc…
i messaggi SysEx iniziano e terminano allo stesso modo. Tuttavia, all'inizio del
messaggio SysEx è presente un messaggio di identificazione del produttore (numero ID
Manufacturer) che comunica ai dispositivi in ricezione quale sia il destinatario del
messaggio.

Il MIDI
pag 12 di 17
Il MIDI
pag 13 di 17
Il General Midi (GM)
è un modo convenzionale di organizzare i timbri su numeri di programmi
(Program Change).

General MIDI Level 1 Instrument Families


PC# Family Name PC# Family Name
1-8 Pianos 65-72 Reeds
9-16 Chromatic Percussions 73-80 Pipes
17-24 Organs 81-88 Synth Lead
25-32 Guitars 89-96 Synth Pad
33-40 Basses 97-104 Synth Effects
41-48 Strings 105-112 Ethnics
49-56 Ensemble 113-120 Percussives
57-64 Brasses 121-128 Sound Effects

Il MIDI
pag 14 di 17
General MIDI Level 1 Instrument Patch Map
PC# Instrument Name PC# Instrument Name
1. Acoustic Grand Piano 17. Drawbar Organ
2. Bright Acoustic Piano 18. ...
3. Electric Grand Piano
4. Honky-tonk Piano
5. Electric Piano 1
6. Electric Piano 2
7. Harpsichord
8. Clavi
9. Celesta
10. Glockenspiel
11. Music Box
12. Vibraphone
13. Marimba
14. Xylophone
15. Tubular Bells
16. Dulcimer

Il MIDI
pag 15 di 17
General MIDI Level 1 Percussion Key Map
Key
Drum Sound Key# Drum Sound
#
35 Acoustic Bass Drum 59 Ride Cymbal 2
36 Bass Drum 1 60 Hi Bongo
37 Side Stick 61 Low Bongo
38 Acoustic Snare 62 Mute Hi Conga
39 Hand Clap 63 Open Hi Conga
40 Electric Snare 64 Low Conga
41 Low Floor Tom 65 High Timbale
42 Closed Hi Hat 66 Low Timbale
43 High Floor Tom 67 High Agogo
44 Pedal Hi-Hat 68 Low Agogo
45 Low Tom 69 Cabasa
46 Open Hi-Hat 70 Maracas
47 Low-Mid Tom 71 Short Whistle
48 Hi-Mid Tom 72 Long Whistle
Il MIDI
pag 16 di 17
49 Crash Cymbal 1 73 Short Guiro
50 High Tom 74 Long Guiro
51 Ride Cymbal 1 75 Claves
52 Chinese Cymbal 76 Hi Wood Block
53 Ride Bell 77 Low Wood Block
54 Tambourine 78 Mute Cuica
55 Splash Cymbal 79 Open Cuica
56 Cowbell 80 Mute Triangle
57 Crash Cymbal 2 81 Open Triangle
58 Vibraslap

Il MIDI
pag 17 di 17