Indice
Classifiche
Plug-in VST RTAS
Computer music
Tutorials
Software
Hardware
Freeware VST
Librerie di suoni
La tua musica
David's guitar
DC records Studio
More Rec. Studio's
Trentino A.A.
Italia
Case discografiche
Case editrici
Produttori
Interviste
Stampa CD
Contratti
Midi downloads
Compro e vendo
Amici Music-Boss
Newsletter
Scrivimi
  Il protocollo MIDI
               
 
               
 

Nonostante siano passati quasi vent’anni, 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, è l’acronimo 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 d’apparecchiature 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 nell’inserire 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 dall’apparecchiatura 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 è l’Uart (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 dell’alfabeto 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: Vai al Sito