il

La sintassi (parte seconda)

Dopo avere visto quali e quanti byte transitano sui cavi midi quando si preme e si rilascia un tasto. Proseguiamo ancora con esempi dei vari messaggi che si possono incontrare:

Muoviamo il Pitch Bender. Ci auguriamo che sappiate cos'è il pitch bender, è quella rotella o joystick che si trova in genere sulla parte sinistra della tastiera e che serve per far andare su e giù (glissato) l'intonazione.

Byte di stato Byte di dati 1 Byte di dati 2
PITCH BENDER
Pitch bender
224 (E0H)
--> BENDER POSITION MSB
Numero di posizione1
64 (40H)
--> BENDER POSITION LSB
Numero di posizione2
64 (40H)

Il messaggio richiede una precisazione. Dato che un solo byte di dati, 127 posizioni, (V. Il protocollo byte di dati), sarebbero state sicuramente poche per affrontare le variazioni di frequenza che impone un buon glissato, è stato deciso nel protocollo di utilizzare invece di un solo byte due byte di dati, per un totale di 14 bit equivalenti a 16383 posizioni. Ne consegue che il numero di posizione 0 equivarrà al massimo della rotazione verso sinistra (abbassamento di frequenza), il numero di posizione 8192 al punto centrale e il numero di posizione 16383 al massimo della rotazione verso destra (aumento di frequenza).

Queste posizioni vengono calcolate dall'insieme dei due byte di dati, MSB+LSB.
MSB Most Significant Bit, bit più significativo. LSB Least significant Bit, bit meno significativo.

L'importante secondo noi non è capire come funziona il calcolo, ma sapere che la posizione del PITCH BENDER è determinata da l'insieme di due byte anzichè uno.

A proposito della posizione del Pitch Bender, è bene ricordare che, mentre il numero della posizione del Pitch Bender sarà uguale per tutte le apparecchiature midi collegate (sullo stesso canale), la frequenza invece potrà cambiare in dipendenza del settaggio.

Esempio: tastiera 1 settata come glissato massimo di 12 semitoni (un'ottava), tastiera 2 settata come glissato massimo di 4 semitoni.
Se il numero numero di posizione del Pitch Bender sarà 0, la tastiera 1 suonerà un'ottava sotto, mentre la tastiera 2 solo di 4 semitoni.

Variamo la posizione di un controller.

Byte di stato Byte di dati 1 Byte di dati 2
CONTROL CHANGE
Cambio del controller
176 (B0H)
--> CONTROLLER NUMBER
Numero del controller
64 (40H)
--> CONTROLLER POSITION
Numero di variazione
00 (00H)

Ad ogni controller (volume, pedali, rotelle, joystick, modulazione, ecc..), viene assegnato un numero di identificazione.

FUNZIONI DEL CONTROLLER NUMERO DEC NUMERO HEX
Modulation wheel 01 01
Breath Controller 02 02
Foot Controller 04 04
Portamento 05 05
Data Entry MSB 06 06
Volume 07 07
Bilanciamento 08 08
Pan L-R 10 0A
Expressione 11 0B
Controlli Generali 16-19 10-13
LSB (0-31) 32-63 20-3F
Pedale Sustain 64 40
Portamento 65 41
Sostenuto 66 42
Pedale Soft 67 43
Hold 2 69 45
Controlli Generali 80-83 50-53
Reverber Depth 91 5B
Tremolo Depth 92 5C
Chorus Depth 93 5D
Phaser Depth 95 5F
Data Incremento 96 60
Data Decremeto 97 61
LSB 98 62
MSB 99 63
LSB 100 64
MSB 101 65
Reset di tutti i contoller 121 79
Controllo Locale 122 7A
Tutte le note spente 123 7B
Modo Omni Off 124 7C
Modo Omni On 125 7D
Mono Mode On 126 7E
Poly Mode On 127 7F
     

Con il primo byte di dati si identifica il controller, con il secondo la variazione.
Meritano un'attenzione approfondita alcune funzioni tra cui le ultime sette, dette di modo, che riguardano il controllo generale di una apparecchiatura e non un singolo parametro: reset, controllo locale, tutte le note spente, modo omni off, modo omni on, mono mode, poly mode, per cui ci ritorneremo più avanti

 

Alziamo al massimo il VOLUME della voce del canale midi 4.

Byte di stato Byte di dati 1 Byte di dati 2
CONTROL CHANGE
Cambio del controller
179 (B3H)
--> CONTROLLER NUMBER
Numero del controller
7 (07H)
--> CONTROLLER POSITION
Numero di variazione
127 (7FH)

Notiamo il numero del byte di stato 179 (esadecimale B3), dice alle apparecchiature collegate che sta per variare il controller del canale 4. Il secondo byte (byte di dati 1), quale controller, ed il terzo (byte di dati 2) in che posizione.

Portiamo a metà il VOLUME della voce del canale midi 4.

Byte di stato Byte di dati 1 Byte di dati 2
CONTROL CHANGE
Cambio del controller
179 (B3H)
--> CONTROLLER NUMBER
Numero del controller
7 (07H)
--> CONTROLLER POSITION
Numero di variazione
64 (40H)

In questo messaggio è cambiato solo il byte di dati 2, riferito alla variazione.

Cambiamo la VOCE o PATCH del canale midi 1.

Byte di stato Byte di dati 1
PROGRAM CHANGE
Cambio della voce
192 (C0H)
--> PRESET NUMBER
Numero del preset
1 (01H)

Il messaggio è molto semplice, bisogna comunque fare attenzione alle apparecchiature midi collegate, perchè allo stesso numero di preset o patch, a volte non corrisponde la stessa voce. Con l'avvento del GM General Midi e GS standard midi, di cui parleremo più avanti, si è risolto tale problema, uniformando le voci con il numero di preset, così che, ad un determinato numero di preset di qualsiasi apparecchiatura e di qualsiasi marca corrisponderà la stessa voce.

Riassumiamo le categorie dei messaggi

I messaggi Midi vengono divisi in due grandi categorie, i messaggi di canale (channel message) e i messaggi di sistema (system message).

Fino ad adesso ci siamo occupati dei messaggi di canale, cioè di messaggi che possono essere indirizzati indifferentemente su di uno dei sedici canali midi a disposizione.

I messaggi di canale (Channel Message)

 1) Il protocollo e la sintassi  6) Le apparecchiature
 2) La sintassi parte seconda  7) I collegamenti
 3) I messaggi di sistema  8) Midifile: struttura e formato
 4) I canali midi  9) Midifile: Standard GM e GS
 5) I messaggi di modo

  Iscriviti per gli aggiornamenti

 

I l  M e r c a t i n o  M u s i c a l e

L e  E d i z i o n i  M u s i c a l i

C o n c o r s i  e  F e s t i v a l

I l  M i d i

S. I. A. E.

R i c e r c a

 

Realizzazione: Dmsoft - © 1996-1999 DimaNet.com tutti i diritti sono riservati.