Archeologia informatica:

Il MIDI alle origini

Il termine MIDI significa Musical Instruments Digital Interface, cioè interfaccia digitale per strumenti musicali; fu inventato per risolvere il problema del collegamento tra strumenti musicali, che ogni casa sviluppava autonomamente (e quindi incompatibilmente con altre apparecchiature). Il MIDI mise d’accordo tutti i costruttori: questo protocollo divenne rapidamente uno standard, con un elenco di specifiche riguardanti sia l’hardware (le caratteristiche delle porte e i livelli elettrici dei segnali), sia il software (tipi di messaggio, codifiche, ecc.). Nonostante le evoluzioni successive, il protocollo MIDI è rimasto sostanzialmente invariato fino ai giorni nostri.

Noi siamo stati tra i primissimi in Italia (e nel mondo) ad avvicinarci a questo nuovo ambiente, come dimostrano le seguenti pubblicazioni di quattro decenni fa.

Chiave di violino AI
tastiera di pianoforte AI

Il MIDI alle origini – 1
Articolo pubblicato sulla rivista Strumenti Musicali n.63, Marzo 1985

Programmare il DX7
con lo Spectrum

CLICCA QUI per scaricare il Pdf

Yamaha DX7, leggendario sintetizzatore primi anni '80

Il MIDI alle origini – 2
Articolo pubblicato sulla rivista Strumenti Musicali n.66, Giugno 1985

Il MIDI due anni dopo

CLICCA QUI per scaricare il Pdf

Schema di collegamento MIDI. Valido ancora oggi

Il MIDI alle origini – 3
Dalla rivista Strumenti Musicali n.67, Luglio/Agosto 1985

MIDI Explorer

di Giancarlo Giannangeli e Gianluigi Giorgetti

MIDI Explorer, fig 1
MIDI Explorer, fig 2
MIDI Explorer, fig 3

CLICCA sulle pagine per scaricarle oppure LEGGI il testo qui di seguito.
ATTENZIONE: l’articolo risale al 1985! Per dare un’idea, si menziona che le righe colorate a video sarebbero potute apparire in bianco e nero sui televisori in bianco e nero, ancora numerosi a metà degli anni ’80, dato che il colore era stato introdotto, con parsimonia, solo pochi anni prima (Febbraio 1977). Inoltre, nella pubblicità dell’ultima pagina, accanto all’indirizzo e al numero di telefono della ditta, si legge l’indicazione “TELEX”, un servizio telefonico consistente nella trasmissione (invio e ricezione) di immagini fisse (tipicamente copie di documenti). Era ancora in auge nei primi anni ’80, quando cominciava a diffondersi l’uso del FAX che in breve, entro la fine di quel decennio, avrebbe soppiantato del tutto il servizio telex (comunque ufficialmente cessato in Italia solo il 31 dicembre 2001).

INTRODUZIONE

Vi presentiamo in queste pagine un programma di utilità e didattico, che permette al computer Sinclair ZX Spectrum 48K di “leggere” prima, e di interpretare poi, tutti i dati comunicati in uscita da qualunque apparecchiatura dotata di sistema MIDI. Ormai i nostri lettori dovrebbero saperne qualcosa di più sul sistema di comunicazione tra strumenti musicali (MIDI, appunto), un sistema numerico, che parla la lingua dei computer.

Lo ZX Spectrum era un home computer creato e prodotto nel 1982 dalla Sinclair Research Ltd - fonte Wikipedia
Lo ZX Spectrum era un home computer creato e prodotto nel 1982 dalla Sinclair Research Ltd

In sostanza, tutto ciò che comunichiamo al computer viene “digerito” in forma numerica: istruzioni, letture dell’alfabeto, segni di punteggiatura. Perfino i colori che esso produce sul video non sono altro che l’effetto di alcuni numeri opportunamente combinati. Nessuna meraviglia quindi se anche le note che suonate sul vostro synth devono essere trasformate in numeri, per poter essere comprese dal computer. Devono cioè essere digitalizzate (digit in inglese significa numero). Così il numero 60 indicherà la nota DO 3, il 72 la nota DO 4, e così via. In modo simile vengono codificati tutti gli altri parametri, come la modulation wheel, la velocità di pressione del tasto, la velocità di rilascio, ecc. In questa occasione non collegheremo insieme due o più sintetizzatori, ma una sola apparecchiatura al computer, ed esamineremo (anche con carta e penna), il modo in cui il costruttore ha implementato il MIDI sul proprio prodotto: infatti le differenze costruttive tra le varie macchine impongono una diversa codifica. In altro articolo apparso sulla rivista Strumenti Musicali n. 65 ci dilunghiamo maggiormente sull’argomento “compatibilità e standardizzazione” (consigliamo anzi una attenta lettura di quell’articolo).

L’USO E I COMANDI
Il programma si carica da cassetta e gira su Spectrum 48K con il solito statement LOAD””. Il menu prevede 4 opzioni:
1) Rilevamento dati.
2) Visualizzazione dati.
3) Protocollo MIDI.
4) Cancellazione ed inizializzazione.

il menu di MIDI EXPLORER

IL SOFTWARE
II “MIDI EXPLORER” (questo è il nome del programma) permette di “esplorare” la codifica di ciascuna apparecchiatura MIDI.
E’ stato sviluppato da Gianluigi Giorgetti e Giancarlo Giannangeli (il team dello Studio “D” di Bologna), gli stessi autori del “DX7 toolkit”, il software presentato nel numero 63 (marzo) della rivista.

Anzi, come ci confermano gli stessi autori, l’interfacciamento con il synth YAMAHA DX7 è stato possibile proprio grazie al MIDI EXPLORER, che solo ora ha la sua veste “commerciale”, nonostante esistesse in prototipo da tempo; infatti è stato utilizzato per interpretare tutti i codici dei dati esclusivi Yamaha (piuttosto complessi), in un periodo in cui le informazioni sul MIDI Yamaha esistevano solo in Giappone.

In RILEVAMENTO DATI il computer, collegato all’apparecchiatura, pone il bordo del video sul nero e a questo punto ogni “numero” in arrivo viene memorizzato e contemporaneamente sullo schermo vengono prodotte delle righe colorate (sul tipo di quelle del caricamento da cassetta, per intenderci), tanto più rade quanto più distanziati nel tempo giungono i dati. Un ottimo sistema per verificare immediatamente il corretto funzionamento dell’apparecchiatura. Prima di parlare della visualizzazione dei dati rilevati, apriamo una piccola parentesi. Nel protocollo ufficiale MIDI si legge che un comando è formato da uno, due, tre o più byte, e che comunque il primo di questo gruppo di byte è una cosiddetta “parola di controllo” (control word), che indentifica l’evento e il canale MIDI di trasmissione, con il bit più significativo settato ad uno (è quindi un numero maggiore di 127). Tutti gli altri byte sono solamente dati e <127. L’opzione 3) PROTOCOLLO MIDI mostra tutte le “control word” possibili, con i diversi colori (diverse gradazioni di grigio per i televisori in B/N) adoperati nel programma per evidenziare i cambiamenti delle parole di controllo (vedi foto).

Videata di dati con la modifica di colore dove cambiano le parole di controllo

Ma torniamo all’opzione 2) VISUALIZZAZIONE DATI. Questi ultimi vengono dunque mostrati a “blocchi” delimitati dalle “parole di controllo”. Nelle foto si vedono i dati in uscita dal KORG Poly 800. Nella figura 1 invece esaminiamo alcuni dati simulati, che non si riferiscono ad alcuna apparecchiatura particolare, ma hanno puro scopo dimostrativo. Esaminiamo la prima riga: il primo numero a sinistra si riferisce alla locazione di memoria occupata, nel nostro caso è 131 (Fig. 1). Significa allora che stiamo esaminando il 131° dato ricevuto via MIDI. La numerazione, come noterete, è progressiva ed è molto utile per poter disporre facilmente di un riferimento assoluto. Il secondo numero, procedendo nella prima riga (129°), è invece il dato MIDI vero e proprio, che viene a fianco interpretato: quindi il codice “129” vuol dire “CANALE MIDI 2 NOTA OFF”.

Fig1 e Fig2. Dati MIDI
FIG 1 e FIG 2

Nella riga successiva troviamo sempre il numero che indica la locazione di memoria impegnata (qui, 132) e, a fianco, il codice MIDI della nota (spenta, nella nostra ipotesi) e l’interpretazione (60, NOTA DO 3 SPENTA). Infine, nella terza riga di questo gruppo di dati, leggiamo (locazione n. 133) il valore (65) della velocità di rilascio della nota. Così nei due blocchi successivi, identificati dalle medesime “control word”, rileviamo lo spegnimento, rispettivamente, delle note FA 2 e DO 3, ma nei CANALI MIDI 16 (se 128 Can. 1, 128 + 15 è 143 = Can. 16) e 12 (12811 139).

Nella figura n. 2 appaiono i dati relativi al codice CAMBIAMENTO CONTROLLI (176- 191): facciamo notare come INTERRUTTORE 1 SPENTO (dati 166° e 167°) oppure CONTROLLO CONTINUO 2, VALORE 3840 (dati 188° e 189°) non possono essere definiti univocamente, poiché secondo un costruttore potrebbero identificare le condizioni dell’LFO (per esempio), mentre secondo un altro potrebbe riferirsi al DCO. Risulta chiaro quindi che questa identificazione deve essere effettuata a cura dell’utente, con carta, penna e pazienza, se non si posseggono le specifiche della macchina. Ecco quindi che la registrazione dei dati MIDI è strutturata a “pagine”, le quali si incrementano automaticamente ogni volta che si torna al menu, fino a non accettare più dati, una volta raggiunto il limite o della memoria (9999 byte) o delle pagine. Consigliamo l’utilizzatore di scrivere, a parte, tutte le operazioni svolte sull’apparecchiatura in esame, in riferimento a ciascuna pagina, per sapere poi quali dati leggere, in relazione a quali operazioni. Se, per esempio, voleste conoscere il modo in cui è implementata la codifica della MODULATION WHEEL, sul vostro synth, dovreste operare come segue:
1) Dopo aver collegato in maniera corretta computer, interfaccia e sintetizzatore, caricate il programma e selezionate l’opzione 1) RILEVAMENTO DATI. Sul vostro televisore apparirà la “pagina” di memoria che sta per essere impiegata.
2) Segnate su un foglio di carta la “pagina” di cui sopra e, a fianco, il tipo di operazione che vi accingete a svolgere: “pagina A (per esempio), modulation wheel dal valore minimo al valore massimo”.
3) Premete il tasto SPACE sul computer, per attivare la registrazione dei dati e fate assumere alla Modulation Wheel tutti i valori (dal minimo al massimo). Vedrete il bordo dello schermo produrre righe colorate molto fitte, poiché, muovendo la ruota Modulation, avrete provocato l’emissione di una valanga di dati: ottimo, vuol dire che il computer li sta immagazzinando tutti.
4) Interrompete la registrazione dei dati e immediatamente il computer tornerà al menu: ciò vi permetterà di scegliere tra esaminare subito i dati memorizzati o effettuare un altro rilevamento nella “pagina” successiva, avendo cura di annotare la prossima operazione da compiere con le modalità viste prima. Se decidete di osservare i dati, vi saranno mostrate tutte le pagine riempite fino a quel momento, incluse le locazioni di memoria occupate (i numeri in ordine progressivo visti precedentemente) e anche le lunghezze delle pagine.
Dopo aver premuto sul computer il tasto corrispondente alla lettera che identifica la pagina, si può scegliere se inviare i dati da visualizzare al video o alla stampante e con i tasti 6 e 7 (le frecce) si possono selezionare i dati precedenti o seguenti. Come detto prima, il computer ce li mostrerà organizzandoli a “blocchi”, in base alle “parole di controllo”, e si fermerà appena prima della ‘parola di controllo” successiva. Con il tasto 9 si ricomincerà ad esaminare da capo i dati della pagina in osservazione.

Due parole sull’organizzazione di stampa, piuttosto interessante: premendo il tasto S si provocherà la stampa (su Sinclair ZX. Printer) dell’ultimo blocco di dati visto sul video. Se poi vengono premuti i tasti-frecce (6 e 7) la visualizzazione continuerà sulla stampante. Se invece viene premuto il tasto V (video) e poi i tasti-frecce, i dati passeranno sul display video. L’opzione 4) CANCELLAZIONE E INIZIALIZZAZIONE permette di ripristinare le condizioni dell’accensione, azzerando la memoria e rendendo di nuovo disponibili tutte le pagine.

NOTA
Nella realizzazione di questo software si è tenuto conto delle specifiche MIDI redatte dalla SCI (la casa costruttrice dei famosi Prophet), che per prima, all’inizio degli anni 80, portò avanti il tentativo di realizzare una interfaccia digitale standardizzata per sintetizzatori. Questo significa, ad esempio, che in alcune macchine, non viene utilizzato il codice 224-239 per il PITCH BENDER, ma il codice 176. Inoltre codice 241, secondo il MIDI EXPLORER, sarebbe “non definito”, ma può darsi che venga adottato da qualche costruttore per un suo proprio uso. Scoprirlo è compito dell’utente.

CONCLUSIONI
II MIDI EXPLORER è un ottimo programma didattico, per coloro che vogliono approfondire il discorso COMPUTER-MIDI: potrebbe essere utile proprio per imparare a conoscere l’implementazione del MIDI sulla propria macchina (ricordiamo: non solo sintetizzatori, ma anche batterie elettroniche e sequencer), e per verificare le possibilità di comunicazione tra macchine diverse. E’ un software che ai più esperti (di computer) permetterà la creazione di tanti altri programmi. E’ un altro esempio delle grandi possibilità che offre il collegamento di un home-computer alla rete MIDI.

Naturalmente oltre al computer (Sinclair ZX Spectrum), per il funzionamento del MIDI EXPLORER, occorre una interfaccia adeguata che, come suggerito in occasione della presentazione del software “DX7 TOOL- KIT”, può essere reperita facilmente (è un prodotto made in Italy) presso i rivenditori di strumenti musicali, essendo prodotta dalla SIEL.

Il MIDI alle origini – 4
Supplemento della rivista Strumenti Musicali n.84, Gennaio 1987

The MIDI book

Questo supplemento fu pubblicato per offrire al musicista una guida semplice e breve al MIDI in un’epoca in cui si era ancora agli albori della digitalizzazione. Basti pensare che il Compact Disk era apparso sul mercato appena qualche anno prima (1981), i primi computer desktop operavano su MS-DOS e un PC di quel tipo come l’Olivetti M24 costava oltre 5 milioni (di lire).

CLICCA QUI DI SEGUITO per aprire o scaricare il fascicolo
(32 pagg formato Pdf)

The MIDI book - Una guida semplice e breve al MIDI