Cos'è il MIDI: interfaccia e protocollo
20 minuti di lettura
L'interfaccia MIDI e il protocollo MIDI spiegati in modo semplice, a portata di musicista!
L'interfaccia MIDI e il protocollo MIDI sono due cose completamente diverse che hanno lo stesso scopo: far dialogare tra loro gli strumenti musicali. In questo articolo vorrei spiegare come funziona il MIDI in modo semplice... ed esauriente, per aiutare tutti quei musicisti che vogliono beneficiare delle grandi possibilità artistiche e tecniche che il MIDI offre.
La prima cosa che bisogna comprendere che l'interfaccia MIDI riguarda l'
Compresa questa differenza, possiamo addentrarci nel fantastico mondo del MIDI che, nonostante la sua apparente complessità, cercherò d'illustrare nel modo più semplice possibile.
L'articolo è un po' lungo, quindi ritengo utile inserire un indice degli argomenti trattati e che ho selezionato per importanza, nella consapevolezza che il MIDI è un argomento troppo vasto per essere trattato in modo completo in un singolo articolo:
- Cos'è il MIDI?
- Cos'è l'interfaccia MIDI?
- MIDI IN, MIDI OUT e MIDI THRU
- I canali MIDI
- I messaggi MIDI
- Il Diagramma d'implementazione MIDI (MIDI Implementation chart)
- Conclusioni
Ann.
159,99 €
Il prezzo, se indicato, è sincronizzato ogni 6 ore. Verificarlo SEMPRE su Amazon PRIMA dell'acquisto!
142,19 €
Il prezzo, se indicato, è sincronizzato ogni 6 ore. Verificarlo SEMPRE su Amazon PRIMA dell'acquisto!
Cos'è il MIDI?
Lo standard MIDI (Musical Instrument Digital Interface) è nato negli anni '80 e ha cominciato a diffondersi negli anni '90 come un insieme di protocolli hardware e software per permettere agli strumenti musicali di dialogare tra loro e con i computer.
In buona sostanza, con la nascita degli strumenti musicali elettronici e con l'avvento dei primi personal computer, in campo musicale si è pensato a come sfruttare queste due tecnologie facendole dialogare tra loro, con lo scopo di
Ti starai chiedendo: «Ma non c'erano già i dischi e i nastri per questo?». La risposta, ovviamente, è "sì", ma qui stiamo parlando di un argomento diverso.
Infatti io ho scritto «...memorizzare e riprodurre le note suonate dal musicista», non i suoni!
Ora cominci a capire?
In pratica, il MIDI è la versione elettronica e informatica dei rulli di una pianola o di un organo a rullo, inventati secoli prima del MIDI, che permettevano di riprodurre un brano suonato da un musicista, inciso praticando dei fori su un rullo di carta (o tramite chiodi e altri metodi meccanici) in corrispondenza delle note, ciascuna con la giusta durata, stabilita dalla lunghezza del foro.
Cos'è l'interfaccia MIDI?
L'interfaccia MIDI è l'insieme dei dispositivi hardware che si occupa di trasmettere dei messaggi MIDI, cioè dei codici facenti parte del protocollo MIDI che costituiscono il "linguaggio" di comunicazione tra due strumenti musicali elettronici o tra strumento musicale e computer.
L'interfaccia MIDI, dal punto di vista prettamente hardware, è un'interfaccia seriale, unidirezionale, a "loop di corrente" che permette di raggiungere una velocità di circa
Paroloni tecnici a parte, l'interfaccia MIDI "classica", a seconda delle sue funzioni, può avere uno o più connettori d'ingresso (MIDI IN) e/o uno o più connettori d'uscita (MIDI OUT) e/o uno o più connettori d'uscita con funzione di replica dei messaggi che arrivano sul connettore d'ingresso (MIDI THRU).
Più avanti spiegherò le funzioni di questi connettori più dettagliatamente.
Questi connettori, sempre nella versione "classica", sono di tipo DIN "femmina" pentapolare 180°, simili a quello rappresentato in figura.
I collegamenti tra i dispositivi MIDI che montano questo tipo di connettori sono fatti tramite cavi maschio-maschio, ovviamente sempre DIN pentapolare 180°.
Un tipico cavo MIDI è simile a quello in figura ed è disponibile su Amazon (si trova anche in altre lunghezze).
Roland Cavo Midi Black Series, 1.5M/5Ft. - Rmidi-B5, Nero
- Connettori DIN in nichel di qualità professionale
- Configurazione a quattro conduttori
- Schermatura a spirale ad alta densità
- Garanzia a vita
- Prodotto ufficiale Roland
7,90 €
Il prezzo, se indicato, è sincronizzato ogni 6 ore. Verificarlo SEMPRE su Amazon PRIMA dell'acquisto!
Perché ho specificato più volte la parola "classica" riferendomi all'interfaccia MIDI? Il motivo è che, pur essendo
Ecco com'è fatto un gruppo di porte MIDI classico:
Ma di qualunque tipo sia la connessione, il risultato non cambia: un'interfaccia MIDI trasmette codici MIDI da un dispositivo a un altro.
MIDI IN, MIDI OUT e MIDI THRU
Come promesso, cerco di spiegare meglio le differenze tra questi tre connettori che possiamo trovare su un dispositivo MIDI.
Abbiamo detto che l'interfaccia MIDI è un'interfaccia
Quindi, i dati viaggeranno sempre
Se volessi permettere il dialogo tra i due apparati come, per esempio, nel caso di una tastiera collegata a un computer, per permettere d'inviare al computer le note suonate sulla tastiera e contemporaneamente al computer d'inviare note alla tastiera, avrei bisogno di due porte midi per ciascun dispositivo, una MIDI IN e una MIDI OUT:
Ok, ora che abbiamo compreso lo scopo delle connessioni IN e OUT nell'interfaccia MIDI, affrontiamo il terzo tipo di connettore: il MIDI THRU intorno al quale, tra i miei amici musicisti, aleggia da sempre un alone di mistero.
Se volessi controllare due o più dispositivi MIDI con un'unica tastiera, per esempio, collegare la tastiera a un sintetizzatore (expander) e contemporaneamente anche al computer per registrare gli eventi MIDI e se la tastiera avesse una sola porta MIDI OUT (alcuni apparati ne hanno più di una) avrei soltanto due possibilità:
- Acquistare un MIDI Splitter con 1 ingresso (IN) e diverse uscite (OUT).
- Utilizzare la porta MIDI THRU del mio expander.
Infatti, la porta MIDI THRU non fa altro che
Quindi, nella situazione descritta, potrei collegare i dispositivi in questo modo:
In questo modo, i messaggi generati dalla tastiera dalla porta OUT arrivano alla porta IN dell'expander, il quale suona le note richieste e, inoltre, le replica sulla porta THRU, che è collegata al computer che, a sua volta, ha la porta OUT collegata alla porta IN della tastiera per poterle inviare i suoi codici.
Lo so, sembra un po' complicato, ma una volta afferrato il concetto di "chain" o "catena", i collegamenti ti verranno spontanei.
Ti starai chiedendo perché non è possibile collegare la porta OUT dell'expander alla porta IN del computer, invece di utilizzare THRU. Il motivo sta proprio nella differenza tra OUT e THRU, dove OUT invia i codici
Spero che questa figura possa aiutarti a comprendere meglio.
Alcuni strumenti sprovvisti della porta THRU, tramite un'apposita impostazione, possono
In questo modo, se non ti serve la porta OUT ma ti serve una porta THRU, puoi comunque risolvere il problema.
Non approfondisco ulteriormente questo argomento (ci sarebbe ancora molto da scrivere) per non confonderti le idee, ma spero che ora tu conosca, almeno in linea di principio, la differenza tra MIDI IN, MIDI OUT e MIDI THRU.
I canali MIDI
Lo standard MIDI è in grado di trasmettere, su una singola porta, messaggi destinati a 16 canali.
Questi canali funzionano un po' come i canali della televisione sulla quale, tramite la stessa antenna, è possibile ricevere trasmissioni diverse. Solo che, mentre sulla TV, a meno che non abbia la funzione PIP (Picture In Picture), possiamo vedere soltanto un canale alla volta, il MIDI trasmette e riceve "contemporaneamente" su tutti i 16 canali.
"Contemporaneamente" per modo di dire, perché in realtà nel MIDI non c'è nulla di contemporaneo. Infatti,
Se, invece, il traffico dati è elevato, magari a causa di numerosi messaggi Controller o SysEx, può capitare di percepire un ritardo delle note suonate.
Grazie ai 16 differenti canali, posso di decidere di trasmettere alcuni messaggi a uno strumento, per esempio "sintonizzato" sul
Non solo: esistono strumenti cosiddetti "
Per esempio, possiamo configurare questi strumenti per suonare col timbro di pianoforte le note ricevute sul canale 2 e col timbro di flauto quelle ricevute sul canale 5... e così via fino a utilizzare tutti i 16 canali.
Nota: in genere il canale 10 è riservato agli strumenti percussivi, ma non è obbligatorio.
I messaggi MIDI
Arriviamo alla parte più complessa di questo articolo in cui cerco di spiegare gli aspetti "software" del protocollo MIDI, cioè i messaggi MIDI, organizzati secondo uno standard ben preciso che tutti gli strumenti MIDI devono riconoscere e rispettare.
Nota: non è importante ai fini della comprensione di questo articolo ma può esserti utile sapere che nel MIDI sono impiegati soltanto 7 bit su 8 per la trasmissione dati.
Quindi, i valori trasmessi, composti da uno o due byte, potranno andare
Possiamo suddividere i messaggi in due categorie principali:
Note ON e Note OFF
Partendo da queste ultime, per ogni nota suonata (e trasmessa), saranno inviati almeno due messaggi:
Nel momento in cui premo il tasto viene trasmesso il
In entrambi i messaggi sono codificati:
- Canale MIDI (1-16)
- Numero di nota (0-127)
- Velocità (0-127)
Del canale MIDI abbiamo già parlato nel paragrafo "I canali MIDI".
Il
In realtà esistono diverse interpretazioni dell'estensione MIDI. Alcuni costruttori indicano la nota più bassa come
Comunque avrai già capito che si tratta di un'estensione molto più ampia di quella di qualunque strumento esistente. Infatti, un pianoforte a 88 tasti (7 ottave e mezza), che è lo strumento con estensione maggiore, si estende dal
Tornando al messaggio MIDI trasmesso, in pratica per ogni nota suonata saranno trasmessi tre byte:
Nota: negli esempi utilizzerò spesso la
Primo byte
Ovviamente bisognerà sommare 1 per ottenere il canale in lingua "umana", cioè
Secondo byte
Terzo byte
È importante spendere qualche parola per spiegare cosa s'intende con
Nota: dal punto di vista prettamente tecnico, in genere la velocità si ottiene utilizzando due sensori su ogni tasto e misurando il tempo che impiega il tasto a passare da un sensore all'altro.
Se il tasto viene premuto con forza impiegherà meno tempo a passare dal sensore 1 al sensore 2 mentre, se viene pigiato con "delicatezza", questo tempo sarà più lungo.
Quindi, un DO 4 trasmesso sul canale 11 con una velocità di 97 sarà codificato in questo modo:
9 = note on,a esadecimale = 10 decimale a cui va sommato 1, ottenendo 11, perché i canali vanno da 1 a 16 mentre il codice esadecimale va da 0 a 1548 esadecimale = 72 decimale, che è il numero di nota del DO 461 esadecimale = 97 decimale, cioè la velocità
Ora è facile intuire che
Però, il MIDI prevede una modalità particolare, utile quando si devono trasmettere messaggi dello stesso tipo in sequenza, che permette di evitare di ripetere la trasmissione del primo byte, risparmiando circa un terzo dei dati e limitando il ritardo nelle note.
La modalità si chiama Running status. Per esempio, se si devono trasmettere 4 messaggi di Note ON perché stiamo suonando un accordo, anziché trasmettere 12 byte, ne trasmetterò soltanto 9, inviando il primo byte (note on + canale midi) e poi soltanto i byte che si riferiscono ai numeri di nota e velocità, in questo modo:
Proprio per agevolare l'utilizzo del Running status, comunemente i dispositivi MIDI accettano come messaggio di note off un note on con velocità = 0, in modo da poter inviare note on e off nello stesso blocco di dati, utilizzando sempre il byte
Non tutti i dispositivi MIDI riconoscono il Running status, ma quasi tutti quelli di più recente costruzione lo supportano.
Tranquillo,
Però mi sembrava corretto fornirti almeno un esempio di codifica dei messaggi MIDI.
D'ora in avanti farò soltanto riferimento ai valori che possono assumere i diversi messaggi MIDI, senza convertirli né mostrandoti le sequenze di byte trasmesse, in modo da agevolare la lettura e la comprensione dell'articolo.
Il Note OFF, ovviamente, indica il rilascio del tasto sulla tastiera. È sicuramente altrettanto ovvio il fatto che il tempo che intercorre tra un Note ON e il successivo Note OFF indica la durata della nota.
I suoni di percussioni
I suoni percussivi, nel MIDI, sono trattati in modo del tutto analogo alle note musicali, con una piccola variazione: a diversi numeri di nota non corrispondo diverse intonazioni dello stesso strumento (salvo eccezioni come tom, timpani e altre percussioni "intonate") ma suoni di percussioni diverse.
Per esempio, secondo la tabella General MIDI relativa alle percussioni, la nota 36 (DO 1) suonerà con un timbro di
Inoltre, sempre secondo lo standard General MIDI, alle percussioni è riservato il canale MIDI 10 (consigliato ma non obbligatorio).
Quanto detto vale per i suoni di una tipica batteria e altre percussioni comuni (tamburello, cabasa, bongo, triangolo, ecc...).
Le percussioni "a suono determinato" come, per esempio, marimba, vibrafono, campane tubolari, ecc..., invece, sono trattate esattamente come gli altri strumenti e a ciascun numero di nota (tasto) corrisponde una nota diversa dello stesso strumento.
Il Program Change
Cominciamo ora ad affrontare i messaggi di controllo più importanti.
I Program Change sono messaggi che permettono di cambiare suono sugli strumenti multitimbrici (es. Piano, Sax, Tromba, Chitarra, ecc...). Il valore di un Program Change può andare
Esiste uno standard, detto General MIDI (GM o GM2), che associa i 128 program change ad altrettanti strumenti musicali. I costruttori
La tabella General MIDI dei timbri associati ai program change è presente su Wikipedia, ma in genere è riportata anche nei manuali degli strumenti musicali che l'adottano.
Come dicevo, con il program change è possibile scegliere uno tra 128 suoni diversi su ogni canale MIDI. Ma cosa succede se il mio strumento ne ha molti di più? Come faccio a selezionare gli altri suoni?
Qui entra in ballo un altro tipo di messaggi: i Controller.
I messaggi Controller
I Controller sono dei particolari tipi di messaggi MIDI che si occupano di "controllare", cioè impostare, alcuni particolari parametri della nostra sorgente di suoni.
I controller sono decine ma alcuni esempi dei controller più utilizzati sono il Volume (controller #7), il Pan (controller #10), la Modulation (controller #1), il Sustain (controller #64) e il Bank Select (controller #0 + #32).
Quest'ultimo ci permette di scegliere diversi banchi di suoni, ciascuno con 128 suoni.
La sequenza di Bank Select è composta da due messaggi chiamati Bank Select MSB (#0 - Most Significant Byte) e Bank Select LSB (#32 - Least Significant Byte) più, ovviamente, il Program Change.
Quindi, grazie ai messaggi di Bank Select, uniti al messaggio di Program Change, è possibile scegliere tra
Quindi, per scegliere un timbro di un banco diverso da quello attualmente in uso, potrò semplicemente far precedere il program change dai messaggi di bank select, per indicare quale timbro e in quale banco voglio selezionare.
Il controller Volume (#7) fa esattamente quello che ci si aspetta: regola il volume master tra 0 e 127.
Il controller Sustain (#64) si riferisce all'azione del pedale del sustain nei pianoforti e può assumere soltanto due valori: 0 (pedale non attivo) e 127 (pedale attivo). Il pedale sustain attivo prolunga la nota anche dopo il rilascio del tasto (messaggio di Note OFF), così come avviene sul pianoforte.
M-Audio SP-2 - Pedale di Sustain Universale per Tastiera Elettronica, Pianola, Pianoforte Digitale in Stile Pianoforte
- Sensazione naturale, risposta perfetta: pedale sustain universale con pedale cromato per un'azione naturale e realistica
- Compatibilità universale: design con un interruttore di polarità comodamente posizionato per la compatibilità con tutte le tastiere elettroniche
- Robusto e affidabile - Struttura di alta qualità con un meccanismo robusto e resistente per un'affidabilità senza compromessi
- Realizzato per muoversi: l'estetica leggera e ultracompatta offre un supporto in stile pianoforte classico con un ingombro portatile
- Design orientato alle prestazioni: i cuscinetti in gomma appositamente progettati situati nella parte inferiore dei pedali aderiscono al pavimento e rimangono fermi mentre suoni
- Connettività semplice: include un cavo da 1,8 m con jack da 1/4 di pollice per il collegamento a praticamente qualsiasi tastiera MIDI, pianoforte da palco o modulo audio con un ingresso per pedale sustain da 1/4 di pollice
- L'SP-2 è dotato di un interruttore di polarità sul pannello inferiore;
18,90 €
Il prezzo, se indicato, è sincronizzato ogni 6 ore. Verificarlo SEMPRE su Amazon PRIMA dell'acquisto!
Il controller Modulation trasmette i messaggi relativi ai movimenti della modulation wheel, cioè quella "rotella", di solito presente sulla sinistra della tastiera del sintetizzatore, che permette di regolare l'intensità della modulazione o del vibrato sul suono.
La Modulation è regolabile per valori che vanno da 0 a 127.
Il controller Pan permette di regolare la "posizione" del suono all'interno del panorama stereofonico e può andare da 0 a 127, dove
Esistono tanti altri controller (sono 128 in tutto!) ma credo di aver spiegato quelli più importanti.
I messaggi Pitch Bend
Ho voluto inserire questo tipo di messaggi tra gli esempi perché il Pitch Bend è uno di quelli più utilizzati e perché è un ottimo esempio di messaggio a doppio byte con valori negativi.
Il pitch bend permette di regolare l'intonazione di una nota, in modo continuo, sopra e sotto la sua frequenza naturale.
Lo si trova molto spesso nei sintetizzatori, sempre a sinistra della tastiera, vicino alla modulation wheel vista poco fa.
In genere permette di scendere 2 toni sopra e salire di 2 toni ma questa escursione, di solito, è regolabile tramite una sequenza di controller MIDI detta Pitch Bend Range.
I valori del Pitch Bend vanno
I messaggi Aftertouch
Ho voluto parlare di questi particolari messaggi non perché gli aspetti MIDI siano particolarmente interessanti (ti basti sapere che il valore di after touch può andare da 0 a 127) ma perché
Molti sintetizzatori, oltre al normale rilevamento dei tasti attivati (note on/off + velocity), dispongono di sensori che sono in grado di rilevare una eventuale pressione della mano sulla tastiera, dopo che è stato premuto il tasto della nota (after=
Questo messaggio può essere usato per
Per esempio, potrei suonare una o più note e poi, tenendo le dita sulla tastiera, pigiare più a fondo per attivare il vibrato, "colorando" la nota da un certo istante in poi.
Come dicevo, l'aftertouch può essere
Chiaramente, dal punto di vista costruttivo, l'aftertouch polifonico è molto più
I messaggi System Exclusive (SysEx)
I messaggi MIDI System Exclusive (o SysEx) sono gli unici messaggi MIDI che
Il motivo è che i messaggi SysEx devono essere "compresi" soltanto dallo stesso strumento che li ha generati o da strumenti della stessa marca e modello.
Infatti, sono spesso utilizzati per inviare dati di configurazione, per esempio per la copia o il salvataggio (backup) delle impostazioni, che hanno un senso soltanto per strumento che ha generato i dati SysEx.
I messaggi System Exclusive sono quelli che vengono generati quando, sui moderni strumenti MIDI, si chiede di fare il DUMP di una patch, di un intero banco o di tutte le impostazioni dello strumento. I dati SysEx che lo strumento genererà possono essere salvati in un file, tramite un computer, per essere poi ricaricati nel caso lo strumento "perda la memoria" (per esempio a causa della batteria di mantenimento o tampone) oppure inviati a un'unità simile per creare un "clone" della prima.
Il Diagramma d'implementazione MIDI
Il Diagramma d'implementazione MIDI o MIDI Implementation chart, è una tabella sinottica nella quale sono riportate tutte le funzioni e i messaggi MIDI che l'apparato supporta.
È molto utile perché, grazie al fatto che ha un formato standard, permette in pochi secondi e senza leggere tutto il manuale, di sapere se un certo dispositivo supporta o meno dei messaggi MIDI, in ingresso e/o in uscita.
Questo è un esempio di un tipico Diagramma d'implementazione MIDI:
Conclusioni
In questo articolo ho cercato di fornirti le informazioni essenziali nel modo più chiaro possibile ma, per approfondire maggiormente le tue conoscenze sul MIDI, t'invito a leggere questa pagina su Wikipedia.
Potrebbe interessarti anche l'articolo vanBasco: programma Karaoke per imparare a cantare in casa!.
Grazie per avermi letto fin qui!
Se vuoi chiedere ulteriori spiegazioni o se vuoi esprimere la tua opinione non esitare a