| |
Nonostante siano passati quasi ventanni, il
protocollo midi rimane indiscutibilmente il linguaggio informatico
che ha più cambiato il modo di eseguire e produrre musica;
non cè musicista allo stato attuale delle cose che
almeno una volta non si sia trovato a fare i conti con il midi e
con le sue caratteristiche; infatti sono ancora in pochi coloro
che conoscono tutti i risvolti di questo sistema informatico: Axe
ha voluto con questa rubrica dare a tutti i suoi lettori un valido
mezzo di comprensione per sfruttarene tutte le sue caratteristiche,
anche le più riposte, senza peraltro richiedere una cultura
informatica di alto livello.
La Storia
Il midi, è lacronimo di musical instruments
digital interface, nasce principalmente da due fattori: primo la
ricerca di compatibilità tra strumenti diversi e di diverse
marche, secondo la crescente disponibilità di tecnologia
digitale. Fino agli anni 80 il collegamento tra sintetizzatori,
batterie elettroniche e altri strumenti musicali elettronici era
affidato al gate o trigger (un impulso di tensione fornito da una
macchina all'altra, che generalmente determinava la scansione delle
note o il sincronismo) e al VC (Voltage Control, che determinava
la frequenza delle note). Ogni costruttore ottemperava a proprie
specifiche, nella definizione delle caratteristiche elettriche,
che quasi mai corrispondevano a quelle definite da altri costruttori.
Il problema era particolarmente avvertito negli Stati Uniti, tanto
che già nel 1981, nella 'Convention' autunnale dell'AES fu
presentato un progetto di Universal Synthesizer interface. Nel corso
di ulteriori incontri vennero perfezionate le caratteristiche tecniche
di quello che doveva diventare il MIDI, e da parte della Sequential
Circus (ironia della sorte ora fallita), da sempre principale promotrice
dello sviluppo del sistema, nel dicembre del 1982 fu posto in commercio
il Prophet 600, primo synth al mondo dotato del nuovo modo di dialogare
in musica. Tra il 1983 e il 1984 i sintetizzatori digitali Midi
ebbero una prima diffusione di massa con la commercializzazione
di prodotti come lo Yamaha DX7 e il Korg Po1y800. Sorsero due comitati:
l'americano MMA (Midi Manufacturers Association) e il giapponese
JMSC (Japanese Midi Standards Commitee) che diedero il via a periodici
incontri tesi a perfezionare il Midi e a farne rispettare le direttive.
Dal marzo 1984 tutte le aziende che dotano i propri prodotti di
porte Midi sono obbligate a rispettare alcune caratteristiche base,
che garantiscono la compatibilità fra gli strumenti delle
diverse marche. La IMA (International Midi Association) nel settembre
1985 pubblicò le specifiche dettagliate dello standard Midi
1.0, debitamente riviste e corrette. Con il rapido diffondersi di
nuove apparecchiature Midi e di applicazioni inizialmente non previste,
il codice Midi è stato più volte rivisto e soprattutto
espanso. Le appendici più significative sono state pubblicate
nell'autunno 1986 e nella primavera 1987, ma ancora nei giorni in
cui scriviamo, si sta lavorando alla definizione di nuovi messaggi
destinati a consentire lo scambio universale di file di dati MIDI
(general MIDI level 2, downloadable sound level 2, standart MIDI
files working group).
Così come lo vediamo oggi, il Midi quindi è il risultato
di due distinte proposte, una made in USA (Oberheim e Sci, appunto),
e l'altra giapponese (tutti i principali costruttori): superate
le traversie operative del primo anno di vita, dal marzo 1984 esiste
un accordo ulteriore, in base al quale tutte le macchine Midi prodotte
ottempereranno alle medesime specifiche, almeno quelle di base.
COSÉ Il MIDI
Abbiamo visto come il MIDI è stato istituito
come protocollo, quindi come standart riconosciuto in tutto il mondo
da tutti i costruttori, non solo di strumenti musicali, ma anche
dapparecchiature informatiche e audio/video. Il protocollo
MIDI quindi stabilisce le specifiche sia hardware ( interfaccia,
cavi, connettori ), sia software ( linguaggio informatico, modalità
di trasmissione, tipologia dei messaggi ) che ogni apparecchiatura
deve capire se vuole essere veramente MIDI compatibile.
Allo stato attuale delle cose tutte le apparecchiature presenti
sul mercato sono tranquillamente compatibili tra loro almeno nelle
funzioni principali; quindi niente paura nellinserire nuovi
oggetti MIDI
.vent anni in fondo sono serviti a qualcosa.
Lo scopo del MIDI è di trasmettere comandi: quando sulla
nostra tastiera premiamo un tasto, dalla presa MIDI out uscirà
un comando digitale che indicherà ad un apparecchiatura
in ricezione che è stato premuto quel determinato tasto (numero
di nota) con una determinata forza (velocity). Quindi una cosa fondamentale
da capire è che il MIDI non trasmette nessun tipo di suono
ma unicamente comandi che verranno rieseguiti dallapparecchiatura
in ricezione. Ogni movimento fatto dall esecutore su di una
tastiera MIDI verrà codificato in un modo univoco secondo
il protocollo: abbassare o rilasciare un tasto e con che forza,
il muovere una rotella o un altro controllo, il cambiare timbro
ecc
Questo sistema permette di comandare con una sola tastiera
più generatori sonori collegati o la possibilità di
memorizzazione attraverso computer o sequencer dedicato dei dati
di esecuzione di una partitura suonata su una tastiera MIDI. Il
primo caso è tipico di una situazione concertistica, dove,
il musicista suona dal vivo uno o più generatori sonori (expander)
collegati ad una tastiera di comando ( master keyboard) mentre il
secondo è normalmente più proprio di una situazione
di studio e compositiva dove, con l ausilio di computer o
sequencer,è possibile registrare, corregere, modificare,
sovrapporre, riascoltare situazioni musicali precedentemente eseguite.
Lo scopo del codice Midi è quello di trasformare in numeri
ogni azione compiuta da un musicista nell'eseguire un brano, tanto
da poter eventualmente permetterne una riesecuzione elettronica
automatica.
Ciò permette di memorizzare e manipolare digitalmente un'esecuzione
musicale, svincolandola dal timbro di un particolare strumento,
dalle possibilità tecniche dell'esecutore, e dalle imperfezioni
accidentali tipiche dell'uomo
(il che non sempre è un bene ... ).
DESCRIZIONE INFORMATICA
Midi dunque è un sistema di comunicazione dati,
che consente ad uno strumento musicale o altro dispositivo (detto
master) di controllarne un altro (detto slave), e anche più
di uno, in modo da suonare insieme le stesse note, cambiare i timbri
nello stesso momento, iniziare (da capo o dal segno) i brani memorizzati,
mantenere la sincronizzazione. In alcuni casi (che vedremo più
avanti), è anche possibile, tramite la tastiera che funge
da 'master', controllare altri parametri, come modulation wheel,
pitch bender, e anche i valori di inviluppo, filtri e volume.
Per chiarire meglio come questa comunicazione di dati possa avvenire,
torniamo per un attimo ai vecchi trigger e VC analogici, e vediamo
come essi si trasformano in trigger digitali nel Midi.
Una grandezza analogica è, per esempio, una tensione che
varia tra un minimo e un massimo con continuità, assumendo
cioè tutti gli infiniti valori intermedi: nessuno di questi
sarà però identificabile con assoluta precisione.
Difficilmente, infatti, a meno di non utilizzare circuitazioni molto
sofisticate, un circuito elettrico chiamato a rilevare e decodificare
una tensione al suo ingresso, potrà distinguere un valore
di 2.5 volt da un valore di 2.6 volt. Infatti le apparecchiature
musicali riceventi riconoscevano in maniera assoluta soltanto il
cambiamento di stato (da 0 a + 5 volt, nei trigger, per esempio)
e i valori di tensione per la definizione delle frequenze. In questo
modo il numero delle informazioni trasmesse era limitato, e per
comunicarne una maggiore quantità occorreva disporre di collegamenti
enormemente complessi. Ma ecco giungere in nostro aiuto il digitale,
con la sua potente semplicità. Vogliamo sottolineare questo
concetto, a prima vista paradossale: ovunque siano state applicate
le tecniche a microprocessore, la circuitazione relativa ne è
sempre risultata più semplice, magari meno comprensibile
a prima vista, ma più affidabile e più economica.
La tecnologia industriale, una volta superata la prima fase sperimentale,
è dilagata nel mondo dell'infinitamente piccolo, integrando
in pochi millimetri quadrati funzioni svolte da intere schede di
transistor.
Per rendersene conto, basta dare un'occhiata all'interno di uno
strumento elettronico degli anni Settanta: un groviglio di cavi
e di punti di taratura, sostituiti negli strumenti di oggi da pochi
chip che svolgono la propria funzione in modo del tutto automatico,
con una affidabilità di gran lunga superiore.
Così trigger e VC si sono trasformati in dati digitali, cioè
numerici, e l'apparecchiatura che ne è dotata trasmette un
preciso numero, in corrispondenza di una nota suonata, per esempio,
invece che una variazione di tensione. Questo numero naturalmente
dovrà essere decodificato dai circuiti interni dell'apparecchiatura
ricevente, ma questo è un problema veramente irrisorio, allo
stato attuale della tecnologia.
Ciascun numero può assumere normalmente un valore compreso
tra zero e centoventisette, nella codifica Midi, e quindi si capisce
facilmente che la varietà dei messaggi che si possono trasmettere
con un codice digitale è larghissima (nota da suonare, inizio
e fine nota, cambio di programmi, dinamica di tasto, eccetera, come
già detto), e ciascun messaggio può essere decodificato
dall'apparecchio ricevente senza le approssimazioni tipiche dei
sistemi analogici.
Il MIDI E IL SUO HARDWARE
Il Midi appare fisicamente all'utente come una triade
di connettori Din (norme tedesche) a 5 poli (180 gradi) presenti
sul pannello posteriore di uno strumento che ne sia dotato (vedi
fig. 1). L interfaccia MIDI vera e propria si trova subito
dietro i connettori esterni e si compone essenzialmente di due componenti
elettronici (opto isolatore e Uart) e una manciata di resistenze
e diodi (vedi figure 2 e 3). Il componente principale è lUart
(universal asincronous riceiver transmit) un microprocessore appositamente
costruito alla comprensione e decodificazione dei dati MIDI che
lavora in maniera asincrona cioè solo quando qualcosa appare
alle porte MIDI. Le prese MIDI sono tre: un ingresso (Midi In, dati
in ricezione) , una uscita (Midi Out, dati in uscita dalla macchina)
e un terzo connettore, denominato Midi Thru (letteralmente 'attraverso'),
che si limita a ripetere fedelmente in uscita tutti i dati che appaiono
all'ingresso Midi In. Ricordatevi sempre che i collegamenti MIDI
sono sempre eterosessuali quindi dovete collegare sempre
un MIDI in ad un MIDI out e viceversa, mai collegare due prese delle
stesso segno (elettricamente non rompete niente semplicemente non
funziona).
Per semplificare i vari raccordi tra le apparecchiature, il sistema
si serve di una trasmissione seriale dei dati, attraverso un cavo
bifilare+massa il segnale viene prelevato dai piedini 4 e 5, mentre
il piedino 2 rappresenta la calza schermata, della quale normalmente
si raccomanda l'uso per realizzare i collegamenti (del tipo utilizzato
in HiFi). La velocità di trasmissione è di 31.250
KBaud (migliaia di bit al secondo), ed è considerata piuttosto
elevata per una trasmissione dati: d'altronde una velocità
più bassa avrebbe determinato qualche problema negli inevitabili
ritardi che si sarebbero creati tra le apparecchiature.
Il circuito elettrico è del tipo current loop a 5 mA, progettato
espressamente per prevenire la formazione di anelli di massa in
grado di disturbare la trasmissione: la lunghezza dei cavi di collegamento
comunque non dovrebbe superare i 15 metri.
Ricordiamo infine che una uscita è in grado di pilotare uno
e un solo ingresso, e quindi non è possibile porre in parallelo
le prese senza l'uso di speciali adattatori attivi.
TRASMISSIONE SERIALE DEI DATI
Il bit, ormai dovrebbe essere noto alla maggior parte
dei lettori, senza che essi siano programmatori; è la più
piccola unità (cifra binaria: binary digit) che un microprocessore
è in grado di riconoscere, e può assumere, per definizione,
solo due valori, zero o uno, in corrispondenza di una tensione rispettivamente
di zero o cinque volt. Otto bit, a loro volta, identificano un byte,
che è una parola della strana lingua del computer (come le
singole lettere dellalfabeto non hanno nessun significato
se non sono composte in parole, cosi anche i bit se non sono raggruppati
in byte non hanno nessun significato per un computer).
Vi sono due modalità per trasmettere queste parole tra apparecchiature:
seriale e parallela. Poniamo di dover trasmettere byte di otto bit:
nella trasmissione seriale gli otto bit vengono inviati (in successione
nel tempo) attraverso un solo cavo e il dispositivo ricevente è
in grado di capire quando termina un byte e incomincia il successivo(
infatti il pacchetto informatico che il MIDI trasmette è
formato da 10 bit di cui il primo e l ultimo sono i bit di
start e di stop della trasmissione
.vi ricordate che la trasmissione
MIDI è asincrona quindi funziona solo quando l Uart
sente il bit di start e si riposa quando sente quello di stop. La
trasmissione parallela invece necessita di otto cavi paralleli,
ciascuno dei quali trasporta, nella medesima unità di tempo,
il bit che la macchina gli assegna. Per il sistema MIDI, anche se
la trasmissone parallela è molto più veloce, è
stato scelto il tipo di trasmissione seriale, per semplificare i
collegamenti e aumentame l'affidabilità: cavi, piattine a
otto fili, prese multiple, per un musicista che monta e smonta quasi
ogni sera e lavora sul palco, non sarebbe proprio una tranquillità!
Ciascun byte dunque può assumere diversi significati, a seconda
della sequenza logica di volta in volta proposta: il protocollo
di trasmissione si assume il compito di determinare univocamente
il significato di una sequenza di byte (come più avanti esamineremo).
Il vantaggio della trasmissione seriale è che basta un solo
filo per trasmettere l'informazione, per cui il collegamento risulta
economico, pratico e affidabile. Perchè la trasmissione seriale
risulti efficiente, la velocità della trasmissione deve essere
abbastanza alta. Per questo motivo i bit del codice Midi vengono
trasmessi alla velocità di 31.25 Kbaud, cioè 31.250
bit al secondo. Questo dato equivale a dire che un bit viene trasmesso
in 1/31.250 = 32 msec (microsecondi), cioè 32 milionesimi
di secondo. La trasmissione è asincrona e ciò significa
che l'inizio e la fine di ogni byte devono essere "annunciati"
ogni volta da due bit speciali, lo start bit e lo stop bit, posti
rispettivamente davanti e dietro gli otto bit del byte Midi da trasmettere.
Dunque è necessario trasmettere 10 bit per inviare un byte
Midi, quindi tale byte richiederà 10 x 32 = 320 msec (microsecondi)
prima di essere ricevuto: questi 0,32 millesimi di secondo sono
l'impercettibile ritardo che il Midi impone per sua natura tra l'azione
del musicista e l'effettiva esecuzione sonora.
Bisogna dire che questo impercettibile ritardo che il MIDI accumula
nella trasmissione seriale era negli anni 80 un ottimo risultato
ma adesso con la trasmissione multitimbrica su 16 canali MIDI contemporaneamente
( supportata dalla stragrande maggioranza di strumenti ), diventa
piuttosto critica: se vi fate due calcoletti potrete notare come
il ritado tra una trasmissione MIDI su sei canali genera un ritardo
tra la prima e l ultima nota di 10 msec (millisecondi) e l
UART mediamente impiega 4/6 millisecondi per decodificare il messaggio,
quindi il MIDI non è poi così veloce come la maggioranza
degli utenti crede.
Articolo scritto da Luca Spagnoletti
Articolo pubblicato grazie alla autorizzazione ed alla collaborazione
di: 
|