Home / Segnali di Controllo / MIDI – Musical Instrument Digital Interface
250px Midi ports and cable - MIDI - Musical Instrument Digital Interface

MIDI – Musical Instrument Digital Interface

La trasmissione e la gestione di dati, parametri e più in generale di informazioni all’interno di un sistema o tra più sistemi interattivi, rappresentano le prime problematiche che i musicisti e i compositori di musica elettroacustica si sono ritrovati ad affrontare. Il problema era così rilevante da influire sulla natura e la genesi dell’opera stessa; come sempre accade, le importanti questioni tecniche intervengono radicalmente nei processi compositivi.

250px Midi ports and cable - MIDI - Musical Instrument Digital Interface

In questa serie di articoli, si cercherà di tracciare un percorso che descriva i passaggi più importanti della storia dei mezzi e dei protocolli di trasmissione di dati. S’inizierà dal Controllo in Voltaggio per poi passare alla nascita del protocollo MIDI, si accennerà ad altri protocolli che hanno cercato di contrastare la sua egemonia (avallata dall’industria degli strumenti musicali) come lo SKINI, lo ZIPI, il FUDI (specifico per Pure Data). Infine, approfondiremo e ci soffermeremo lungamente sull’ultimo nato tra i protocolli di trasmissione dati: l’OSCOpen Sound Control. Sarà posta molta attenzione all’OSC poiché non si tratta di un semplice antagonista del MIDI, ma di una vera rivoluzione nell’ambito dell’interazione tra sistemi paragonabile in importanza a quella avvenuta quando si è passati dal Controllo in Voltaggio (dominio analogico) al MIDI (dominio digitale).



Seconda parte


MIDI – Musical Instrument Digital Interface

Dovremo soffermarci per un poco sulla storia dei sintetizzatori commerciali poiché è grazie ad un accordo tra le principali case produttrici di questi strumenti che nasce il protocollo MIDI. Verso la fine degli anni ’70, nella progettazione dei sintetizzatori iniziano a essere utilizzati i microprocessori (divenuti meno costosi e destinati a entrare nell’elettronica di consumo) al fine di eliminare le problematiche tipiche dei sintetizzatori analogici: instabilità dell’intonazione, sensibilità agli sbalzi di temperatura e di alimentazione. Si ha insomma il progressivo passaggio dai sintetizzatori con tecnologia analogica a quella digitale. Dai VCO si passa all’uso dei DCO (Digitally Controlled Oscillator). L’utilizzo dei microchip ha facilitato e ottimizzato funzioni già esistenti come:

• La memorizzazione di parametri per lo storaggio dei suoni e dei relativi filtri e inviluppi (presets);
• Una maggiore precisione di controllo dei suddetti parametri per la programmazione dei suoni e dei relativi filtri e inviluppi.

La ditta americana Sequential Circuits di Dave Smith avvia ricerche in questa direzione e nel 1978 presenta il Prophet 5

prophet54 - MIDI - Musical Instrument Digital Interface
Prophet 5
seguito subito dall’OB-X della Oberheim,
OB X - MIDI - Musical Instrument Digital Interface
OB-X della Oberheim
dallo Jupiter 8 della Roland e dal costosissimo Fairlight della australiana CMI.
jupiter 8 - MIDI - Musical Instrument Digital Interface
Jupiter-8
Fairlight - MIDI - Musical Instrument Digital Interface
Fairlight
Il Fairlight, immesso sul mercato nel 1979, è stato il primo sintetizzatore commerciale a fare uso della tecnica del campionamento. Il digitale rende economiche tecnologie o funzionalità che erano preesistenti: iniziarono a essere sviluppati per il mercato degli strumenti musicali dispositivi come batterie elettroniche e sequencer sentendo sempre più l’esigenza di interfacciarli tra loro per consentirgli di lavorare insieme. Le drum machine avevano un output attraverso il quale trasmettevano il clock, mentre i sintetizzatori sempre attraverso un uscita apposita avevano la possibilità di trasmettere ad altri dispositivi un segnale di trigger. Purtroppo i sistemi di trasmissione dati erano “proprietari”; ogni ditta produttrice ne disegnava una tipologia che si limitava a funzionare solo tra i dispositivi della stessa casa.

All’AES del 1981 la Sequential Circuits presentò il progetto di un’interfaccia universale, l’USI. L’idea interessò molto i costruttori che però si divisero tra chi voleva un sistema di trasmissione dati di tipo seriale e chi invece di tipo parallelo. La Roland intuendo le potenzialità, inizio in breve tempo una collaborazione con la Sequential Circuits. Nel 1982 decisero che sarebbero stati usati connettori DIN a cinque poli, fissarono la velocità di trasferimento in 31,25 kbaud e stabilirono il nome di questa interfaccia: Musical Instrument Digital Interface – MIDI. L’anno successivo si unirono al gruppo la Yamaha, la Korg e la Kaway. Nel 1982 fu commercializzato il primo sintetizzatore equipaggiato di interfaccia MIDI, il Prophet 600 della Sequential Circuits.

Prophet 600 - MIDI - Musical Instrument Digital Interface
Prophet 600

Nel novembre dell’83 fu presentata la V1.0 del protocollo e venne fondata l’IMA – International MIDI Association, il cui compito era quello di informare sulle ultime novità tecniche. Nello stesso periodo nacquero il JMSC – Japan MIDI Standard Committee e la MMA – MIDI Manufacturers Association, due associazioni formate dai costruttori per facilitare lo scambio di informazioni tecniche affinché si evitino errori di interpretazioni tecniche. Il MIDI inizialmente era nato solo per consentire la trasmissione di dati riguardanti le performance esecutive dei musicisti tra strumenti e marchi diversi, ma s’intuì la possibilità di un suo utilizzo per connettere le apparecchiature con i computer. Al NAMM del 1984 la Sequential Circuits propose un’interfaccia per il Commodore 64 con software annesso e la Passport Design fece altrettanto per l’Apple II. Roland invece preannunciava la MPU 401 dedicata ai calcolatori di grande potenza. Ci fu un grande interesse da parte delle software e hardware house nei confronti del MIDI, ciò ne favorì fortemente la diffusione. Ricordiamo che quelli erano gli anni in cui i calcolatori iniziavano a essere oggetti di consumo legati al nascente mercato dei videogiochi, lasciando quindi i laboratori e incominciando a entrare nelle case. Esempio classico fu l’Atari ST 520, il primo personal computer non progettato per fare musica (utilizzato in primo luogo come console per videogiochi), dotato di porte MIDI. Nel 1985 l’IMA pubblicava una lista con tutto il software MIDI disponibile. L’utilizzo del MIDI si diffuse, ulteriori funzioni furono implementate, ma allo stesso tempo svariati problemi di compatibilità iniziarono a comparire. Così nel settembre del 1985 il JMSC e la MMA pubblicarono un documento in cui venivano specificati i dettagli per l’implementazione del MIDI 1.0. Tale storico documento è il MIDI 1.0 Detailed Explanation che chiariva finalmente numerose sezioni del protocollo permettendo ai costruttori di migliorare la compatibilità tra i dispositivi. Facciamo notare ancora una volta un punto molto delicato: nel caso del Voltage Control abbiamo una tecnologia sviluppata nei laboratori per soddisfare le esigenze dei ricercatori e in seguito sfruttata dall’industria degli strumenti musicali; nel caso invece del MIDI vi è una tecnologia sviluppata direttamente dall’industria musicale per risolvere una problematica tecnica la cui soluzione è stata in grado di sviluppare un settore di mercato e aumentarne le vendite. La grande diffusione del MIDI ne ha fatto poi uno strumento affidabile e utilizzabile anche in ambiti non commerciali e dedicati alla ricerca.

Descriviamo ora l’interfaccia fisica:

interfaccia midi fig1 300x241 - MIDI - Musical Instrument Digital Interface
Schema dell'interfaccia fisica

Si possono osservare le tre connessioni IN, OUT e THRU che utilizzano i connettori DIN a 5 piedini di cui solo tre vengono utilizzati (posizione 5, 4 e 2). Nel caso del MIDI IN sono utilizzati solo 2 piedini (posizione 5 e 4). Il segnale digitale in entrata (MIDI IN) viene in primo luogo filtrato attraverso un optoisolatore (Sharp PC-900 o HP 6N138, entrambi ritenuti ufficialmente adattati) per isolarlo dai disturbi elettrici per poi essere suddiviso e indirizzato verso due diverse direzioni. La prima direzione è il connettore del MIDI THRU, così da riportare all’esterno una copia identica del segnale in ingresso affinché possa essere utilizzato da un’eventuale seconda periferica. La seconda direzione invece conduce il segnale verso una UART – Universal Asynchronous Receiver/Trasmitter (ricetrasmettitore asincrono), il quale possiede un integrato che opera la codifica del segnale in ricezione. Da qui il segnale decodificato andrà a pilotare il generatore di suono.
Il segnale digitale in uscita compirà il percorso inverso, le informazioni da trasmettere attraverseranno una seconda UART che le codificherà e le invierà direttamente in uscita al connettore MIDI OUT. Ai connettori si collegano cavi tripolari che, da specifica MMA, non devono superare la lunghezza di 15 metri, anche se sono stati testati sistemi che lavorano in modo efficiente con cavi molto più lunghi. I collegamenti MIDI in genere prevedono un dispositivo Master che trasmette i dati (attraverso il MIDI OUT) e un altro Slave che riceve i dati (attraverso il MIDI IN). Da quest’ultimo dispositivo può essere ritrasmesso il segnale originale del dispositivo Master (attraverso il MIDI THRU) verso una seconda Slave e così via. Vi è però un limite al numero di Slave collegabili teoricamente pari al numero di canali MIDI a disposizione, ma nella pratica questo è legato al fenomeno del Midi thru delay. Questo è un ritardo di alcuni millisecondi dovuto ai tempi operativi dell’optoisolatore e dell’amplificazione del segnale effettuata prima di raggiungere il connettore MIDI THRU. Chiaramente questa leggera latenza si moltiplica per il numero di dispositivi Slave e può raggiungere anche valori considerevoli. Per ovviare a questa problematica si utilizzano i Midi thru box che consentono il collegamento in parallelo dei dispositivi Slave anziché seriale come sopra descritto. Come già accennato, l’optoisolatore protegge il segnale e le apparecchiature dai disturbi elettrici ed è composto di un Led e di un fototransistor: il Led trasforma il segnale MIDI in un segnale ottico che viene poi riconvertito in segnale MIDI dal fototransistor. In questo modo non vi è connessione fisica e di conseguenza eliminate le eventuali interferenze.

L’interfaccia hardware MIDI opera a 31,25 (+/-1%) kbaud, in modo asincrono, con:
• 1 bit di start (0 logico – corrente on)
• 8 bits di dati
• 1 bit di stop (1 logico – corrente off)
per un totale di 10 bits inviati in un periodo di 320 microsecondi per ogni byte seriale. I byte sono trasmessi inviando per primo il bit meno significativo (LSB).
È utilizzata corrente di 5 mA e lo 0 logico è “corrente ON”.

Le comunicazioni midi avvengono attraverso messaggi multi-byte che consistono di un byte di stato (status byte) seguito da uno o due byte di dati (data byte), fanno eccezione i messaggi Real-time (nessun Data-byte) e gli Exclusive (numero non stabilito) descritti in seguito.

Esempi di struttura di singoli messaggi:
esempi struttura messaggi midi fig2 - MIDI - Musical Instrument Digital Interface

I messaggi MIDI sono trasmessi attraverso 16 canali usati per le esecuzioni (Performance).
Un evento MIDI è trasmesso come messaggio e consiste in uno o più bytes.
Il MIDI adotta parole di 8 bit di lunghezza di cui il più significativo indica il tipo di byte:
parole midi fig3 - MIDI - Musical Instrument Digital Interface

Analizziamo ora le singole parole di un tipico messaggio MIDI formato da uno Status-Byte e da due Data-Byte.

fig4 - MIDI - Musical Instrument Digital Interface
fig5 - MIDI - Musical Instrument Digital Interface

Ci sono 5 tipi di messaggi principali suddivisi in due categorie:
fig6 - MIDI - Musical Instrument Digital Interface

Channel Message:

1 – Voice
Controllano le voci di uno strumento:
Note on/off – attiva/disattiva nota
Aftertouch – polifonico, indipendente per ogni singola nota
Control Change – cambio del valore di un controllo.
Program Change – selezione dei timbri
Aftertouch di canale – assegnato automaticamente a tutte le Note on in quell’istante
Cambio di Pitch (Modulation wheel)

2 – Mode
Definiscono la risposta di uno strumento ai Channel Message Voice; sono a tutti gli effetti dei Control Change:
Local Control on/off – su uno strumento dotato di tastiera, attiva o interrompe il flusso di messaggi diretti dalla tastiera ai generatori interni di suono senza inibire l’invio di dati alla porta MIDI OUT
All notes off – interrompe l’emissione di suono
Omni/Poly/Mono selection – seleziona uno dei quattro modi.
I 4 modi sono:
1. Omni on/poly – chiamato comunemente Omni mode, selezionandolo gli strumenti ricevono le informazioni su tutti i canali (dall’uno al sedici) indipendentemente dal canale sul quale è programmato il ricevente. Consente la polifonia.
2. Omni on/mono – Nato per errore prima del documento ufficiale del MMA nel 1983. È sostanzialmente uguale al primo modo, l’unica differenza è che consente solo il funzionamento monofonico.
3. Omni off/poly – chiamato comunemente Poly mode, selezionandolo gli strumenti ricevono le informazioni solo sul canale MIDI indicato nel messaggio e in maniera polifonica. È ovvio che debba essere selezionato lo stesso canale MIDI sia sul ricevente sia sul trasmittente.
4. Omni off/mono – chiamato comunemente Mono mode, selezionandolo si può assegnare a ogni singola voce un canale MIDI differente. Ad esempio con uno strumento che permette una polifonia a otto voci (purché sia multi-timbrico) è possibile pilotare otto timbri diversi in modo monofonico attraverso otto diversi canali MIDI.
Al momento dell’accensione gli strumenti MIDI selezionano automaticamente la modalità 1 Omni mode.

System Message:

3 – Common
Messaggi di informazione generale per il sistema:
Song Position Pointer – specificano il conteggio (in sedicesimi) delle battute dall’inizio alla fine di una song
Song select – richiama una specifica song
Tune request – richiede a tutte le macchine di riportarsi ad una specifica accordatura

4 – Real-time
Sono usati per la sincronizzazione:
System reset – riporta uno strumento alla configurazione originale
Timing clock – messaggi per emissione di clock
Start from the first measure – fa partire un sequencer dalla prima misura
Stop – invia un messaggio di stop a tutti i dispositivi in running in quel dato momento
Continue start – in un sequencer, fa ripartire il sistema dal precedente punto di stop
Active sensing – usato per scoprire se vi sono cavi MIDI scollegati, in tal caso ogni generazione di suono viene interrotta

5 – Exclusive (Sysex)

Messaggi personalizzabili dai produttori per favorire le singole esigenze di sviluppo. Sono pubblici e devono contenere un ID che ne identifichi il produttore. Fanno uso di un numero variabile di Data-Byte e terminano con un particolare Byte detto EOX – End Of Exclusive.

Descriviamo ora la sintassi specifica di ogni tipologia di messaggio:

fig7 - MIDI - Musical Instrument Digital Interface

Elenchiamo tutti i tipi di Control Change:

control1 - MIDI - Musical Instrument Digital Interface
control2 - MIDI - Musical Instrument Digital Interface

I sequencer, che sono antecedenti il MIDI, hanno avuto un grande sviluppo tecnico grazie a questa tecnologia tanto che oggi non prescindono da essa. Li troviamo integrati in molti sintetizzatori ma sono diffusi soprattutto sotto forma di software per calcolatori. Questi computer sono connessi a sintetizzatori e a tutta una serie di moduli sonori, ma anche mixer, registratori e qualsiasi strumentazione capace di ricevere/trasmettere e interpretare messaggi MIDI come dispositivi video e mixer luci. I tipi di messaggi che sono stati implementati nel protocollo, ricoprono molte necessità tecniche, ma sono in pratica solo quelle previste dai costruttori. Allargandosi in numero la tipologia di strumenti capaci di usare il MIDI, sono aumentate anche le necessità di personalizzare i messaggi di controllo. A tale scopo esistono in realtà i messaggi Sysex ma questi sono sviluppati dai costruttori. Il MIDI è un sistema chiuso, molto rigido e quasi per nulla personalizzabile, composto di una particolare interfaccia fisica e di un software sviluppato e codificato secondo un protocollo che è sotto il controllo dell’industria degli strumenti musicali. Ne è di conseguenza tagliato fuori chiunque voglia utilizzarlo con messaggi personalizzati: per esempio i musicisti, i compositori e i ricercatori non legati all’industria musicale o a una prassi musicale standardizzata. Insomma, chiunque non sia interessato semplicemente alla connessione, ma all’interazione tra apparecchiature e più in generale tra tecnologie. Questo punto cruciale sarà discusso e approfondito nei prossimi articoli.

Alla prossima puntata che si occuperà di protocolli di comunicazione dati che per diversi motivi non hanno trovato sostanzialmente un impiego pratico: ZIPI, SKINI e FUDI

Maurizio Zoccola

About Maurizio Zoccola

Check Also

Traktor Kontrol S5 Age of Audio - MIDI MUSIC – Presentazione prodotti di nuova generazione

MIDI MUSIC – Presentazione prodotti di nuova generazione

Domani, lunedì 5 ottobre 2015 presso la sede MIDI MUSIC di Torino, saranno presentate alcune …