MIDI interface Cable
Moog
   Index Documenti Synth Chitarre Organi Download News

  Breve storia dell’interfaccia MIDI (Musical Instruments Digital Interface)
   
 

Il primo tentativo di realizzare un'interfaccia digitale per sintetizzatore fu concepito dalla Sequential Circuits Inc. (SCI) parallelamente al progetto del Prophet 10.

Scopo dell'interfaccia era di collegare il sequencer interno in modo tale che potesse memorizzare e riprodurre tutto quello che avveniva sulla tastiera, cioé lo stato di tutti i tasti (premuti o rilasciati) in ogni istante.

Lo stesso sistema fu poi esteso al Prophet 5 ma non riuscì a svilupparsi ulteriormente a causa della sua complessità.

Si cominciava nel frattempo a delineare un'ipotesi di intesa tra SCI, Roland e Oberheim, che sfociava nella stesura di una proposta di interfaccia universale USI, presentata all'AES (Audio Engineering Society) nell'autunno del 1981.


Dopo diverse consultazioni, si arrivò alla stesura definitiva delle specifiche USI in un incontro svoltosi ad Anaheim (Los Angeles), in occasione del NAMM 1982 (Western National Association of Music Merchants).
Veniva subito dopo avanzata dai giapponesi una proposta alternativa contenente importanti differenze tecniche.

La SCI ha redatto il primo documento MIDI come sintesi delle due proposte. La stesura definitiva si è avuta dopo un'intensa collaborazione con la Roland, che faceva anche da anello di congiunzione con Yamaha, Korg e Kawai.

L’interfaccia MIDI fu presentata al pubblico per la prima volta nell'ottobre 1982 con un articolo di Robert Moog su "Keyboard Magazine".

Nel dicembre dello stesso anno cominciò la commercializzazione dei primo apparecchio dotato di interfaccia MIDI: il Prophet 600.

 
 
   
 
   
  Struttura dell’interfaccia MIDI
   
  Connessioni MIDIL’interfaccia MIDI si presenta come due o tre conettori DIN a 5 poli (180 gradi), del tipo usato sui vecchi impianti impianti HiFI.

E' presente un ingresso, marcato MIDI IN, che riceve i segnali inviati alla tastiera, ed un'uscita, marcata MIDI OUT, che trasmette i dati verso altri dispositivi MIDI o computer.

I dati che arrivano all'ingresso MIDI IN non vengono ritrasmessi sull'uscita MiDI OUT.

E' a volte disponibile anche una seconda uscita, marcata MIDI THRU, che riporta una copia dei dati che arrivano  all'ingresso MIDI IN.

Non è possibile sdoppiare un cavo per collegare due ingressi MIDI IN ad una sola uscita, ne viceversa. L'uscita MIDI THRU viene fornita proprio per questo scopo.

Invece dei connettori DIN è possibile trovare dei connettori XLR, ma dovrebbero essere accompagnati dai cavi di adattamento per il DIN. La funzionalità dei collegamento è garantita per cavi lunghi fino a 15 metri.
   
 
   
  Cosa si puo' fare con il MIDI vedi anche Come fare i collegamenti MIDI clicca per collegamenti midi
   
  MIDI connessione baseDi base, il MIDI è un modo per scambiare informazioni tra due tastiere.

Le informazioni possono riguardare qualunque operazione svolta dal tastierista, ma l'efficacia dei collegamento dipende dalla potenza di ogni interfaccia e dal livello di compatibilità: al livello minimo, le note suonate su una tastiera vengono suonate anche sull'altra.

Con tastiere dello stesso tipo, o in particolare della stessa marca, la compatibilità aumenta moltissimo e il MIDI consente di fare molto di più. Occorre soltanto che la tastiera ricevente sia predisposta per un certo tipo di controllo e che l'altra sia in grado di trasmettere i segnali adeguati.

In generale, oltre alle note, è possibile controllare almeno il pitch bend e il cambio dei programmi (timbri) cioè scegliere il programma, per es., num. 15 contemporaneamente sulle due tastiere.

Ad un estremo del collegamento può esserci un computer; in teoria attraverso un collegamento MIDI è possibile controllare a distanza con un computer tutte le operazioni che potrebbero essere eseguite da un tastierista (es. cambiare suono, pitch bend, ecc.), più tutte quelle a portata di computer (es. sequencer).

Naturalmente sono incluse le informazioni dinamiche, cioè la velocità di abbassamento dei tasto, la forza applicata sul tasto dopo averlo abbassato (after touch) e la velocità di rilascio (Prophet T8).
   
 
   
 
 
  Modi e canali
   
 

MIDI connessione IN-OUTAnche se il MIDI usa una sola coppia di fili, è necessario immaginare che all'interno dei cavo di collegamento vi siano 16 linee diverse, che vengono chiamate CANALI.

Esistono 3 MODI di funzionamento diversi: OMNI, POLY e MONO.

In modo OMNI i dati vengono trasmessi sui canale 1, ma vengono ricevuti da tutti i 16 canali. Durante il funzionamento in questo modo una tastiera trasmette solo per quelle in ascolto sul canale 1, ma non è in grado di distinguere da dove provengono i dati che riceve e li accetta indiscriminatamente.

In modo POLY i dati vengono ricevuti da uno solo dei 16 canali, a scelta. In questo modo un computer può trasmettere un arrangiamento a 16 parti su una sola linea.

In modo MONO viene utilizzato un canale diverso per ogni voce di un polifonico. Per es. il Prophet T8 in questo modo trasmette e riceve contemporaneamente sui canali 1‑8. Ogni voce può venire controllata individualmente, rendendo possibili dei veri legati (cambiando la frequenza di una voce senza influire sul suo inviluppo), mentre negli altri modi è necessario disattivare la precedente nota prima di attivare la successiva. Anche la trasmissione del controllo polifonico della pressione (after touch) risulta migliorata.

   
 
  MIDI e altro
 
 

MIDI connessione ThruMIDI non riguarda solo le tastiere.

Una batteria elettronica può usarla per ricevere i segnali di sincronismo, per cambiare ritmo quando viene cambiato suono al synth, e per tutto quello che ai costruttori verrà in mente di realizzare.

Il sequencer digitale (computer) trova nel MIDI la chiave per penetrare nel cuore di tutte le tastiere.

La cosa senza dubbio più interessante è che il sintetizzatore diventa, grazie al MIDI, una periferica di un qualunque calcolatore al pari di una stampante.

Il sequencer, il composer non sono altro che particolari calcolatori dediti ad una sola funzione; qualunque personal computer può svolgere funzioni analoghe.

Tra le tante cose si può trascrivere in modo automatico un improvvisazione, controllare via computer i video in relazione alla musica, realizzare un sistema di educazione musicale computerizzato, ecc.ecc.

   
  Come realizzare un cavo MIDI
 
  Pubblichiamo questo articolo per soddisfare tutte quelle persone che riceviamo tramite i motori di ricerca alla ricerca dello schema di collegamento per fare un cavo MIDI..
 
 

Prendiamo qui in considerazione la realizzazione di un cavo MIDI con connettori a norme DIN pentapolari (5 contatti) a 180° standard.

Il cavo MIDI è molto semplice da fare, ed occorre il saldatore, lo stagno, i connettori, ed il cavo elettrico della lunghezza che ci necessita (max 15 m secondo le norme).

Il cavo va bene del tipo a due poli con la calza per la schermatura, non necessita un cavo di tipo particolare o di sezioni elevate...anche un pezzo di cavo audio va bene.

Il saldatore occorre poco potente, e va dosato con cura sui contatti del norme DIN, accorgimento da tenere presente durante la saldatura dei connettori, la base dei norme DIN spesso è in plastica, e se restate troppo vicini con il saldatore rischia di sciogliersi (il contatto sprofonda)..!

 
La connessione tra le due estremità del cavo è speculare (pin to pin), ed utilizza solo due piedini e la schermatura centrale (calza), visto da dietro (lato saldature) deve risultare collegato come nelle figure qui sotto (i colori possono ovviamente essere diversi sul vostro cavo).
   
  Connettore MIDI Cavo MIDI lato saldatureCollegamento cavo midi
   
 

Se avete ancora dei dubbi potete contattarci tramite il Forum.
Prossimamente, per i piu' avvezzi al fai da te, pubblicheremo lo schema elettrico per realizzare un MIDI thru BOX con pochi euro di materiale e qualche saldatura..

 

 
   
 
Schema elettrico interfaccia MIDI
   
  Questo è lo schema elettrico di base dell'interfaccia MIDI, più o meno quello che trovereste all'interno di un qualsiasi dispositivo dotato di MIDI. Il MIDI IN è realizzato con un opto-isolatore che normalmente è il 6N138 dell'HP o il PC 900 della Sharp (compatibile pin to pin) Le performance del MIDI IN dipendono tutte da questo piccolo opto isolatore ad alta velocità..Se realizzate da voi un'interfaccia MIDI, non fate l'errore di sostituirlo con uno più economico. I gates contrassegnati con A, possono essere o dei semplici transistor, o IC (74LS04).
Un problema noto nel malfunzionamento di una tastiera MIDI che non comunica piu' i dati in uscita è proprio la rottura dell'opto isolatore.
 
Interfaccia Midi schema
 

 

 
   
  Messaggi MIDI
   
Dunque: il MIDI è un linguaggio idoneo alla comunicazione in codice digitale.

Il concetto di comunicazione implica uno scambio di messaggi fra due interlocutori o, almeno, un indirizzamento a senso unico dal trasmittente al ricevente. Normalmente, parlando di synth e affini questi due ruoli sono occasionali, dipendendo dall'assegnazione dell'operatore, effettuata mediante collegamenti e specifici controlli.

Tra i componenti che più caratterizzano l'hardware del sistema d'interfaccia vi è il tipico collettore DIN, con i 5 pin disposti a 180° (i piedini 1 e 3 non vengono utilizzati), poi l'optoisolatore e, infine, l'UART.

L'optoisolatore è un ingegnoso dispositivo, interposto fra il connettore d'input e l'UART, adibito alla trasduzione ottica dei messaggi impulsivi.

La finalità di tale processo è il disaccoppiamento del circuito elettrico, in modo da evitare i ronzii conseguenti alle correnti parassite che si manifesterebbero nell'interazione di due o più unità collegate.

Nei casi in cui molte unità siano poste in serie è opportuno che siano impiegati optoisolatori a risposta più rapida per non incorrere in distorsioni, nei fronti ripidi dei segnali la cui pendenza deve essere compresa entro 2 microsecondi.

Altra buona norma è quella di evitare cavi troppo lunghi (max 15 m.) o una cattiva schermatura di massa (piedino 2). Il cuore, ovvero la struttura realmente attiva dell'hardware risiede nell'UART (Universal Asynchronous Receiver-Transmitter. Esso lavora a 31.25 Kbaud, con tolleranza dell'1%, generando messaggi impulsivi (bytes) asincroni, ossia non vincolati ad una cadenza temporale.

Ciascun byte però è distribuito nel periodo di 320 microsecondi ed è formato da 10 bits due dei quali, il primo e l'ultimo, delimitano inizio e fine del messaggio (start-stop), mentre gli altri 8 bits corrispondono a dati.

La delimitazione, analogamente a quanto accade nel linguaggio verbale è necessaria alla comprensione del messaggio, in modo da venire omologato e tradotto operativamente. Il fattore tempo, come avrete già intuito costituisce uno degli aspetti critici di questo sistema di interfaccia.

La trasmissione dei dati è seriale, ed alla formazione di un messaggio complesso devono concorrere moltissimi bits, questo puo' portare as uno slittamento dell'esecuzione, per via del tempo necessario al calcolo di tutti i dati.

Più frequentemente, con molte unità poste in serie, può accadere che eventi intenzionalmente simultanei vengano risolti in modo asincrono, con grande sorpresa dell'inesperto un grande accordo, ad esempio. può divenire un arpeggione (sia pure veloce).

Insomma l'informazione più elementare, il bit, impiega 32 microsecondi, quindi tante informazioni potrebbero rallentare il sistema MIDI.

Torniamo adesso a parlare dei ruoli comunicativi di unità MIDI, correlate. Diciamo che talvolta il ruolo è prefissato per costruzione potendo solo trasmettere, come certe tastiere di controllo, oppure ricevere, come certi moduli di espansione. Nei casi di bivalenza, più frequenti, il ruolo viene assegnato dall'operatore stesso, grazie specialmente ad opportune connessioni.

MIDI IN: attraverso questo input l'unità riceve dati.

MIDI OUT: mediante questo output l'unità comunica i suoi messaggi all'esterno. La linea può venire diramata a più unità riceventi ma, in tal caso è opportuno far uso di appositi dispositivi di derivazione. Talvolta un circuito interno consente di miscelare i segnali in input con quelli generati internamente.

MIDI TRHU: si tratta di un output adibito alla derivazione in parallelo dei segnali in input.

La specifica utilità del Thru è quella di poter formare dei ponti fra più unità che si trasmettono a catena le informazioni provenienti, da una unità master, a monte dei collegamenti, eludendo i controlli degli anelli della catena, ossia delle unità mediatrici.

Le connessioni, come è intuibile, consentono svariate combinazioni interattive, dei moduli del sistema allestito. Facciamo ora un altro passetto conoscitivo ed andiamo ad esaminare, sia pure sommariamente, la struttura dei messaggi.

Similmente a quanto concerne il messaggio verbale, anche quello digitale è organizzato sintatticamente, a vari livelli compenetrati.


Come premessa diciamo che ogni messaggio è formato di un pacchetto di bytes, bipartito: Status Byte e Data Byte (talvolta doppio). Questa regola non vale per i messaggi Real-Time ed Exclusive, come vedremo più avanti.

Lo Status Byte serve ad identificare il tipo di messaggio in arrivo, comandando al ricevente di assumere quello Status, anche nel caso che il messaggio precedente non sia stato completato. Lo Status Byte comprende 8 bit, il primo dei quali, detto MSB (Most Significant Bit) è sempre 1.

Quando effettivamente operativo, lo stato si identifica come Running Status, altrimenti viene classificato col nome di Unimplemented Status, allorché il comando non possa essere eseguito dal ricevente (perché non adeguatamente implementato) o altrimenti distinto come Undefined Status, anch'esso ignorato dal ricevente, in quanto al codice non è stato attribuito alcun senso (un po' come una locazione sfitta).

Lo Status Byte è seguito da uno o due Data Bytes, portatori effettivi del messaggio, il quale non verrà eseguito dal ricevente prima della completa omologazione (impiegando, 32 microsecondi per bit). Il MSB del Data Byte è "0", se ciò vi può interessare, magari per decifrare più tranquillamente le tabelle di implementazione, fornite di norma con i manuali d'istruzione dei vostri strumenti.

Quanto appena detto, si riferisce alla generica struttura del messaggio, mentre dall'immagine seguente potete apprendere la classificazione dei tipi di messaggio, a vario livello.

Channel è una classe di messaggio espressa da quattro dei bits all'interno dello Status Byte e riferito ad uno dei sedici canali che caratterizzano il MIDI.

Il messaggio di canale può essere di due tipi: Voice, indirizzato al controllo delle voci (pitch, on/off nota, pitch bender, livelli dinamici, ecc...) e Mode che seleziona il modo di gestione delle voci stesse.

System è una classe di messaggio non attinente al numero di canale e distinto in tre tipi.

Il tipo Common, come lascia intendere la parola stessa (comune) viene recepito da ciascuna unità del sistema. II tipo Real-Time contiene solo Status Byte ed ha la singolare proprietà di poter essere comunicato estemporaneamente, perfino... clandestinamente, tra i bytes di un messaggio del tutto estraneo.

Il tipo Exclusive, infine, non è vincolato ad un numero prestabilito di Data Bytes e termina, caratteristicamente, con un codice di End of Exclusive (EOX), oppure un qualunque altro Status Byte.

Ma qual'è, il contenuto specifico di questo tipo di messaggio ?

Esso è riservato ad una speciale implementazione dell'unità che lo produce (una sorta di trasmissione a circuito chiuso, limitata ai moduli di identica matrice produttiva). II messaggio contiene un codice ID (Manufacturer's Identification) espressamente concesso dall'IMUG, dietro formale richiesta (la prassi è simile a quella della concessione di bande di frequenze riservate, alle compagnie radiotelevisive).

Superfluo è notare che I'ID, con quel che segue, viene semplicemente ignorato dalle unità estranee, benché collegate, alla stessa stregua di tutti i messaggi ai quali non corrisponda una adeguata implementazione (magari qualcuno avrà pensato, con orrore, che un messaggio incompatibile facesse sbottare i circuiti!!).

Notate, prego, che questa facoltà dell'ID rappresenta una ariosa finestra aperta sul convenzionale, salvaguardando il diritto e il piacere dell'originalità. Sia anche chiaro che la riservatezza dell'ID è graziosamente elastica in quanto il codice corrispondente viene reso pubblico affinché altri se lo desiderano, possano uniformarsi ad esso, onorandone la validità.

In ogni caso, la paternità della formula è garantita proprio dalla legalizzazione dell'ID, al momento della motivata concessione.


Sviluppiamo ora il concetto di Channel Modes.

Quando il MIDI viene abilitato all'operatività, è necessario che venga stabilito un criterio di gestione delle voci, in rapporto alla selezione dei 16 canali.

Quando accade che non venga effettuata tale selezione, oppure ciò non sia consentito dalla scarsa flessibilità della macchina, il canale e il modo sono automaticamente impostati in modo standard (Basic Channel 1, Omni Mode).

I modi selezionabili sono quattro, in tutto, e quella che segue ne è la descrizione.

Omni On, Poly: i messaggi sono ricevuti da tutti i canali di voce. con assegnazione polifonica regolata dall'algoritmo attivo nel ricevente.

Omni On, Mono: idem, ma con assegnazione monofonica.

Omni Off, Poly: i messaggi, per essere ricevuti, richiedono la sintonia col canale di trasmissione selezionato (canale N. simbolicamente). L'assegnazione delle voci è polifonica e sempre regolata dall'algoritmo dell'unità ricevente.

Omni Off, Mono: questo è il modo più complesso, per lo meno a descriversi. La ricezione avviene solo nel canale di sintonia N + M-1, con assegnazione monofonica gestita dal MIDI e non più soggetta al suddetto algoritmo.

Allora: N = canale di base selezionato (Basic Channel): M = numero delle voci da gestire nel ricevente, progressivamente assegnati a canali monofonici a partire da N. Il (-1) è una sottrazione necessaria perché. se è vero che il numero delle voci è espresso da M. è altrettanto vero che N conta come canale base assegnato al controllo di una voce. da scontare dalla somma totale.

Nota: il numero M è codificato come terzo byte del messaggio di modo.


Alcuni sintetizzatori. come lo Xpander (Oberheim) consentono la separazione delle voci, consentendone il controllo mediante distinti canali MIDI. con esiti poi timbrici. Viceversa, esistono tastiere capaci di trasmettere su due canali MIDI indipendenti e simultaneamente, in condizione algoritmica Split/Double (è il caso, ad esempio. della tastiera Roland KB-1000).

I messaggi di controllo continuo (bender, footcontrol., joystick. ecc..) sono specificati dai costruttori stessi e non in linea standard: relative tabelle d'implementazione documentano i codici, modello per modello.

Questi tipi di messaggi sono articolati in due segmenti (MSB ed LSB, ossia Most Significant Bytes e Least Significant Bytes.

In questo àmbito, ma non solo in questo, quando possibile. si attuano automatiche abbreviazioni dei messaggi, a vantaggio dell'economia di trasmissione.

Un controllo MIDI interessante è quello che fa capo al Control Change (n° 122) ed è distinto in Local Control On e Local Control Off.

In condizione Off la normale trasmissione MIDI può effettuarsi regolarmente, mentre viene inibito l'autocontrollo dell'unità n uso, la quale insulta inerte fino a riattivazione, mediante Control On.

E' utile precisare che i controlli continui sono inclusi fra i messaggi di voce, comprendendo Control Change, Program Change, Polophonic Key Pressure, Note On. Pitch Wheel Change, ecc....

 
   
  Messaggi di sistema
 



Common. Questi messaggi, sono recepiti da tutte le unità collegate, senza distinzione di canale.

Tra essi è compreso il Song Position Pointer, che consente, a comando, di puntare e rintracciare qualunque evento d'una song con la discriminazione minima di un beat.

Un beat, vale precisarlo, corrisponde ad un sestuplo della scansione del MIDI clock.

Questa funzione si avvale d'un contatore dei beats che trascorrono fra start e stop, consentendone l'identificazione mediante numeri progressivi.

Altri messaggi comandano:

1) selezione d'una struttura sequenziale (pattern, part, segment, sequence, song...);
2) autoaccordatura (Autotuning) degli oscillatori di eventuali sintetizzatori analogici capaci di tale funzione;
3) chiusura (EOX) d'un messaggio di tipo esclusivo.

Real-time.Questi messaggi possono inserirsi anche tra bytes estranei, essi controllano le seguenti funzioni: avviamento, arresto, ripresa (start, stop, continue) e sincronizzazione di eventi sequenziali generati da drum ma-chines, digital recorders, sequencers, computers, ecc.

II sincronismo è delegato al Timing Clock (24 frazionamenti per scansione metronomica). In certi casi i messaggi di sincronizzazione sono veicolati selettivamente, mediante un connettore DIN SYNC, invece che integrati nella massa di informazioni.

Per inizializzare un sistema digitale, è disponibile un messaggio System Reset, la cui richiesta si effettua di norma manualmente, tramite un apposito comando, sul pannello (Initialize, oppure Reset, ecc...).

Un accenno merita anche lo speciale messaggio Active Sensing, che consiste in uno pseudo Status Byte generato periodicamente (300 ms) durante gli intervalli morti dell'attività MIDI effettiva.

Quando si richiede questa prestazione, se per un periodo superiore ai 300ms non viene prodotto alcun messaggio, pseudo o effettivo che sia, le voci del ricevente vanno automaticamente in Off.

L'Active Sensing è quindi un messaggio spia di stato attivo/disattivo della trasmissione MIDI.