FORMATO DEI DATI MIDI

INTRODUZIONE.
Innanzi tutto vediamo cosa significa la sigla "MIDI". Essa è l'acronimo di "Music Instrument Digital Interface", ovvero "interfaccia digitale per strumenti musicali".
Con questa interfaccia e il relativo standard è possibile collegare tra loro strumenti musicali elettronici dotati di interfaccia MIDI (ormai praticamenti tutti), apparecchi musicali (come sequencer) e computer. Ciò permette un'enorme flessibilità in tutte le fasi di composizione musicale.

HARDWARE.
L'interfaccia MIDI, dal punto di vista circuitale, non è altro che un'interfaccia seriale asincrona con "data rate" di 31,250Kbps, ovvero 31250 "bit per second". Data la sua natura asincrona, oltre al segnale di massa e di alimentazione da collegare alla scheda remota tramite una resistenza da 220 Ohm, c'è la linea dai dati, che può essere di trasmissione o di ricezione a seconda dei casi.
In genere gli strumenti e gli apparecchi musicali sono dotati di 3 connettori di tipo DIN a 5 poli, chiamati: MIDI IN, MIDI THRU, MIDI OUT.

CONNETTORE MIDI
FUNZIONE
MIDI IN
Ingresso MIDI dell'apparecchio in questione.
MIDI THRU
Uscita ausiliaria MIDI. I dati che giungono al connettore MIDI IN vengono poi presentati a questo connettore per un collegamento in cascata di più apparecchi. Anche se teoricamente è possibile collegare in cascata un numero qualunque di apparecchi, dal punto di vista reale, è bene limitarsi a 3-5, per non introdurre ritardi.
MIDI OUT
Ogni variazione prodotto sul dispositivo musicale viene codificato e presentato a questo connettore. Così, per esempio, quando viene premuto un tasto o quando si agisce sul pitch bender, da questo connettore escono tutta una serie di dati relativi ad essi.

Dal punto di vista del formato dei bit, una "parola" è formato da 10 bit, 1 si start, 8 bit di dati e 1 bit di stop. A riposo, le linee dati sono a livello logico alto, ovvero circa 5 Volt.
Infine la piedinatura del connettore e dello spinotto MIDI di tipo DIN a 5 poli è la seguente:

PIN
FUNZIONE
1
-
2
GND
3
-
4
+5 Volt
5
Segnale MIDI

 

SOFTWARE.
Invece il formato vero e proprio dei dati che viaggiano attraverso la linea seriale MIDI è abbastanza complesso.
Intanto il formato MIDI, in modo nativo, supporta fino a 16 canali indipendenti, quindi 16 voci.
Alcuni dati fanno riferimento ad un singolo canale e quindi è necessario specificarlo, altri invece fanno riferimento al dispositivo vero e proprio e sono i messaggi, cosiddetti, di sistema. I messaggi di sistema, a loro volta possono essere standard, come per esempio la sincronizzazione, altri specifici di ciascun apparecchio, sia esso un sintetizzatore oppure un sequancer.

A livello più basso, i dati si dividono in due gruppi, a seconda se il bit più significativo è uguale a "0" oppure a "1".

BIT PIU' SIGNIFICATIVO
FUNZIONE
"0"
Il dato trasmesso è un valore di un parametro.
"1"
Il dato trasmesso è un valore di controllo.


Chi è esperto in elettronica, può essere tentato a costruire qualche semplice dispositivo controllato da microprocessore in gardo di interfacciarsi ad un sintetizzatore; per esempio per disporre di qualche controllo in più.
Il problema è che può non essere semplice trovare la tabella con i messaggi di base per lo standard MIDI, così ho pensato possa essere utile fornire un po' di dati prcisi.

CODICE MIDI
FUNZIONE
DATO 1
DATO 2
0h 8n
Note Off
Numero della nota (C-2 - G8)
-
0h 9n
Note On
Numero della nota (C-2 - G8)
Initial Touch
0h Bn
Controller Change
Numero del controller
Valore
0h Cn
Program Change
Voce da cambiare
-
0h Dn
After Touch
Valore
-
0h En
Pitch Bender
Valore più significatico
Valore meno significativo
0h FE
Active Sense
-
-
0h Fx
System Message
x
x

Entrando nei datagli della tabella riportata qui sopra, ci sono da dire un po' di cose.

CODICE MIDI
SPIEGAZIONE
0h 8n
Questo comando è relativo alla disattivazione della nota attivata in precedenza. E' possibile disattivare una nota o sapere quale nota è stata disattivata.
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h 9n
Questo comando è relativo all'attivazione di una nota. E' possibile attivare una nota o sapere quale nota è stata attivata.
Vi è inoltre un dato aggiuntivo che indica il valore della forza con cui si preme o si vuol premere il tasto, il cosiddetto "initial touch".
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h Bn
Questo comando interviene con tutta una serie di controlli e parametri del proprio sintetizzatore. E' necessario impostare o riconoscere un numero di riferimento (0-120) sia per in sintetizzatore sia per il dispositivo esterno. Segue poi il valore del parametro da modificare o da rilevare.
In genere si ha:
7= Volume.
14= Modulation Wheel.
64= Sustain Switch.
65= Portamento Switch.
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h Cn
Questo comando agisce sul cambio di voce, o, più volgarmente, strumento.
E' possibile interagire sia con le voci interne sia con quelle su "card" esterna e con le voci di "performance", se esistono.
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h Dn
Questo comando permette di accedere al parametro del cosiddetto "after touch".
La maggior parte dei sintetizzatori è sensibile alla variazione di pressione del dito una volta che questo ha premuto un tasto: serve per creare degli effetti particolari.
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h En
Questo comando fa riferimento al controllo "Pitch bender", ovvero a quella rotellina, in genere a sinistra della tastiera che permette una variazione (sia verso l'alto che verso il basso) della tonalità delle note.
Dato che l'estensione di variazione è piuttosto ampia e superiore al valore massimo di un solo dato, viene spezzata in due parti, la parte più segnificativa seguita da quella meno significativa.
Nel codice midi, il parametro "n" indica uno dei 16 canali.
0h FE
Questo comando chiamato "Active Sense" serve per sincronizzare i dispositivi musicali.
0h Fx
Questo comandoè molto importante, in quanto indica un messaggio si sistema. Nel codice midi, la "x", generalmente è uguale a "0". Con il comando "F0" si accede a tutta una serie di parametri, molti dei quali propri del sintetizzatore o dell'apparecchio musicale con cui si sta interagendo. Al comando "Fx", spesso, seguono molti parametri, cui bisogna leggere le specifiche dell'apparecchio in questione.

 

INTERFACCIA MIDI
Se vi vuol collegare un qualunque strumento musicale MIDI ad un Personal Computer è necessario disporre di una semplice inetrfaccia MIDI, che andrà collegata alla porta Joystick.
In altre pagine è stata presentata una semplice ma funzionale interfaccia MIDI con il relativo scehma elettrico e disegno del circuito stampato: vai a vedere...



Federico Battaglin
Italy
Cellulare (SMS): (+39) - 340-5890259
e-mail: info@febat.com