La codifica digitale PCM – Grazie A Nemesi

La maggioranza dei sistemi di registrazione digitale lavora essenzialmente allo stesso modo. Un segnale audio in ingresso è inserito in quello che è noto come un convertitore Analogue-to-Digital (A-D). Questo convertitore A-D prende una serie di misurazioni del segnale a intervalli regolari, e le memorizza come un numero. La lunga serie di numeri risultanti è immagazzinata in un supporto dal quale può essere recuperato con il playback, essenzialmente lo stesso processo invertito: una lunga serie di numeri è recuperata da un mezzo di deposito, ed è passato a quello che è conosciuto come convertitore Digital-to-Analogue (D-A). Il convertitore D-A prende i numeri ottenuti dalla misurazione del segnale originale, e li usa per costruire un’approssimazione molto vicina al segnale originale, che può essere trasferito ad un amplificatore e quindi ad un sistema di diffusori acustici per l’ascolto.

Il nome generico per il sistema di registrazione digitale, è Pulse Code Modulation (PCM), ed è usato in tutti i moderni campionatori, registratori digitali ed interfacce audio per computer. Per ottenere una riproduzione fedele di un segnale audio, la codifica PCM mira ad effettuare un’accurata lettura della forma d’onda del segnale. Chi ha visto un oscilloscopio, o ha familiarità con campionatori e software di audio-editing, avrà avuto modo di vedere le tipiche forme d’onda: linee ondulate usate per rappresentare il suono. semionda analogicaIn termini più semplici, una forma d’onda è un tipo di grafico dove l’asse orizzontale rappresenta il tempo, e l’asse verticale rappresenta l’ampiezza (in figura a sinistra è rappresentato un semplice segnale).

L’ampiezza, è legata al livello del suono. Per esempio quando ad un oscilloscopio viene collegato un microfono posto in un ambiente rumoroso, l’ampiezza dell’onda corrisponde all’ammontare della pressione dell’aria sul diaframma del microfono, e questa al volume del suono (misurato strumentalmente).

Generi diversi di suono corrispondono a caratteristiche e diverse forme d’onda. La forma d’onda di certi suoni strumentali può spesso essere chiaramente visibile come una ripetizione di cicli (l’onda mostrata in figura si ripete più volte), e la quantità di ripetizioni in un dato intervallo di tempo varierà secondo il tono del suono (i cicli che si ripetono con maggior frequenza saranno udibili come suoni di alta frequenza). Suoni che non hanno un tono distinto, d’altra parte, corrispondono a forme d’onda più irregolari.

Prendendo e memorizzare una serie molto accurata di misurazioni di una forma d’onda analogica, il sistema di codifica PCM può ricostruire un’approssimazione molto vicina del suono corrispondente a quella forma d’onda. In un sistema PCM di alta-qualità, l’approssimazione può essere così accurata che un suono registrato è praticamente indistinguibile dalla sua sorgente.

Comunque, perché il sistema lavori bene, deve operare fra determinati limiti. Per questo, ci sono essenzialmente due variabili da considerare. La prima di queste è nota comefrequenza di campionamento, e la seconda è nota comeprofondità di bit.

La frequenza di campionamento descrive il numero di volte che un segnale audio in ingresso è misurato o “campionato” in un dato periodo di tempo. E’ tipicamente indicata in kilohertz (kHz, migliaia di cicli per secondo) e per registrare in “CD-quality” audio, è richiesta una frequenza di campionamento di 44.1kHz.

campionamento a 16 bit

La profondità di bit determina l’accuratezza con quale è effettuata ciascuna misurazione o campione. Quando in un sistema PCM di audio digitale il convertitore A-D misura un segnale in ingresso e memorizza la misurazione come un numero, questo numero è rappresentato come una serie di 0 e 1, anche noti come numeri binari. La profondità di bit, perciò, si riferisce alla lunghezza delle parole binarie (cioè sequenze di 0 e 1) usate per descrivere ciascun campione del segnale d’ingresso preso dal convertitore A-D. Parole più lunghe permettono la rappresentazione di una serie più ampia di numeri, e quindi misurazioni più accurate e riproduzioni più fedeli di un segnale (maggior dinamica e minor distorsione). In un sistema a 16-bit, ciascun campione è rappresentato come una parola binaria lunga 16 cifre. Poichè ciascuna di queste 16 cifre può essere uno 0 o un 1, sono possibili 65.536 (216) valori per ciascun campione.

Per tale ragione molti studio di registrazione professionali utilizzano frequenze di campionamento pari a 48khz con profondità di bit pari a 24. Possiamo farlo anche noi visto e considerato che buona parte delle schede dedicate all’home recording supportano senza difficoltà tale frequenza. Teniamo sempre in considerazione che il prodotto finale sarà destinato ad un supporto in grado di leggere a 44khz con 16 bit, per tale ragione è consigliabile utilizzare frequenze più alte solo in fase di registrazione e missaggio dove è necessario che il suono registrato sia il più fedele possibile alla sorgente. La masterizzazione farà decadere in ogni caso frequenze superiori ai 44100 e profondità di bit superiori ai 16.

 

Il Midi – Grazie Ad Artestudio

Se la nostra intenzione è quella di non utilizzare loop di campioni già preregistrati e realizzare da noi il nostro brano o mettere in condizioni altri di farlo, è bene prendere confidenza col formato MIDI. Prima di lasciarvi alla definizione tecnica del formato, per ben intendersi, dovete immaginare il protocollo come un insieme di impulsi che vengono inviati da una tastiera muta o tramite un software ad un sintetizzatore di suoni che può essere caricato su una scheda audio in forma di VSTi, di campione GIGA, oppure su un campionatore esterno quali gli AKAI ad esempio o comuni Expander, o ancora sintetizzatori; ad ognuno di questi impulsi è assegnato un particolare comportamento: suonare una nota, ad esempio, definendone allo stesso tempo intensità e durata, emulare il pedale di sustain o la modulazione del suono o ancora il pitch. Il file, solitamente di dimensioni irrisorie, è in grado di riprodurre alla quasi-perfezione le performance di un pianista ed emulare tutti gli strumenti che allo stato odierno è stato possibile campionare e rendere disponibili come banche suoni. Il limite di tutto questo sta nel fatto che i suoni vengono riprodotti in base alle caratteristiche del campione cui è associata la singola traccia, è ovvio che il pianoforte caricato sulle schede audio più economiche non ha le caratteristiche di un VSTi come The Grand prodotto da Steinberg, come anche il violino dei comuni banchi General Midi non è assolutamente paragonabile ai campioni della VSL Orchestra. In conclusione, seppure un formato universale, il formato midi è efficace solo nel caso in cui, al momento dell’esecuzione, il campione utilizzato sia il medesimo che utilizzeremo quando il file verrà esportato in formato audio. I vantaggi sono decisamente alti, in quanto impulsi, questi possono essere variati a nostro piacimento. Se sbagliamo una nota durante l’esecuzione possiamo correggerla, come possiamo agire anche sulla dinamica della nostra esecuzione e su eventuali fuori tempo, nonchè trasferire un intero brano da un computer all’altro con un semplice floppy.

COS’E’ IL MIDI

Il MIDI (musical instrument digital interface) è costituito da una serie di specifiche hardware e software che permettono la compatibilità di collegamento e scambio di dati tra vari strumenti musicali di marche diverse. Recentemente il MIDI è utilizzato non solo da strumenti musicali, ma ha trovato anche nuove applicazioni, come la automazione delle luci o per il sincronismo per applicazioni audiovideo.

Le specifiche hardware definiscono la circuitazione, tipi di cavi ecc. per il collegamento fisico tra due o più unità. Ogni strumento fornito di MIDI ha un ingresso dati (IN), un uscita (OUT) e una porta THRU che permette di non chiudere il collegamento tra 2 unità ma di collegarne altre in serie.

Il protocollo software definisce invece il linguaggio, la sintassi costituita da diversi codici con la quale i vari device comunicano. Ed è proprio questo secondo aspetto che ci interessa, infatti come vedremo in seguito i programmi musicali sono in grado di produrre e ricevere questi codici in modo da pilotare gli strumenti collegati.

SINTASSI DEI MESSAGGI

Il MIDI si basa su un sistema di trasmissione seriale a 8 bit (1byte), abbiamo visto che un byte può assumere valori da 0 a 255, che sarebbero ovviamente insufficienti per la finalità del MIDI (spesso i nuovi sintetizzatori anno una varietà di banchi di suoni superiore a 255, quindi in questo caso non basterebbe neanche a definire che suono vogliamo utilizzare!) . E’ quindi necessario un protocollo in cui il significato dei byte non è assoluto, ma dipende dalla loro sequenza. Un po’ come l’alfabeto e il linguaggio, le lettere dell’alfabeto non possono certo bastare da sole per esprimere delle idee, ma soltanto organizzate in parole.

La prima grande regola del codice MIDI sancisce la differenziazione di STATUS BYTE e DATA BYTE. Lo status byte definisce la chiave di lettura che consente allo strumento ricevente di interpretare correttamente il byte successivo e quindi di eseguire l’operazione richiesta. Un esempio può chiarire meglio questo concetto. Supponiamo di aver annotato un numero sulla nostra agenda. Il numero è 4250197. Il fatto è che non ci ricordiamo più quando abbiamo annotato il numero, e neanche a cosa esso si riferisca. Potrebbe essere un numero di telefono, oppure il codice della carta di credito, o chissà cos’altro. Se davanti al numero però si fosse scritto tel.4250197 allora non c’è dubbio che quello è il numero di telefono , oppure MI4250197 la targa di una macchina. Quindi lo status byte serve a far capire al device midi ricevente a cosa si riferisca il dato successivo. Tutti i byte però sono numeri. Quindi è stato deciso che i numeri da 0 a 127 sono dei data byte, quelli da 128 a 255 sono invece status byte. Il fatto è ancora più chiaro se prendiamo in considerazione la rappresentazione binaria dei byte, il range di valori da 0 a 127 comprende i byte che hanno il primo bit ( il bit più significativo MSBit) con valore 0 (00000000, 00000001, 00000010,…01111111). Il range di valori tra 128 a 255 invece ha il MSB sempre con valore 1 (10000000, 10000001, 10000010……11111111); poiché il MSB è il primo ad essere trasmesso e ricevuto, per i sistemi informatici la distinzione tra status byte e data byte è immediata. Visto con la rappresentazione esadecimale vediamo che lo status byte ha la prima cifra del numero sempre compresa tra 8 e F,  il data byte tra 0 e 7, F0 è uno status byte, 0F e un data byte. Se quindi mandassimo per esempio ad uno strumento MIDI come primo byte un data byte invece che lo status byte avremmo certamente un avviso del tipo “MIDI ERROR”. In realtà uno status byte può essere seguito anche da più di un data byte, per ogni tipo di status byte è stato definito il numero di data byte relativi.

Un altro punto essenziale della sintassi MIDI è la definizione di CANALI MIDI. La canalizzazione MIDI permette di gestire più strumenti contemporaneamente e indipendentemente attraverso un unico collegamento (rete MIDI). L’esempio classico che solitamente si fa per spiegare i canali midi è quello del televisore. Tramite l’antenna il televisore riceve tutti i segnati inviati dalle stazioni emittenti. Quando si decide di guardare un certo canale, quello che facciamo è di  predisporre il televisore in modo da sintonizzarsi su un preciso canale sul quale vengono trasmessi suoni e immagini. Tutti gli altri canali, sebbene vengano ricevuti dall’antenna, sono esclusi. Nel sistema MIDI avviene una cosa analoga, dal cavetto passano le informazioni di tutti i canali, ma noi possiamo predisporre uno strumento in modo che sia sintonizzato solo su un canale. Così, avendo a disposizione più strumenti, possiamo settarli in modo che ognuno riceva su un canale midi diverso, nello stesso mono in cui possiamo avere nella stessa casa più televisori che sono sintonizzati su diversi programmi. Sono ora sempre più diffusi strumenti che funzionano in modalità MULTI, cioè un singolo strumento può gestire più di un canale midi alla volta contemporaneamente, e quindi suonare per esempio una batteria, un basso, un pianoforte ecc.. che eseguono parti diverse ( un po’ come quei televisori che permettono di dividere il video in più finestre e vedere più programmi).

Questo è reso possibile dal segno di riconoscimento presente negli  status byte : il secondo gruppo di 4 bit. Riassumendo quindi i primi 4 bit (con il primo bit sempre = 1, poiché si tratta di uno status byte) definiscono il comando vero e proprio, i secondi 4 bit definiscono invece il canale midi.

ecco tutti i valori possibili dei primi 4 bit di uno status byte :

hex   8h   9h     Ah   Bh   Ch   Dh     Eh   Fh

bin 1000 1001 1010 1011 1100 1101 1110 1111

e tutti i valori dei secondi 4 bit, con accanto il canale MIDI corrispondente:

bin hex canale midi

0000 0 1

0001 1 2

0010 2 3

0011 3 4

0100 4 5

0101 5 6

0110 6 7

0111 7 8

1000 8 9

1001 9 10

1010 A 11

1011 B 12

1100 C 13

1101 D 14

1110 E 15

1111 F 16

Da notare come con questo sistema non si possano avere più di 16 canali ( uno dei problemi attuali del midi, superato con dispositivi con più porte midi, per esempio la l’interfaccia MIDI studio4 gestisce 8 IN e 8OUT per un totale di 16×8=128 canali midi).

Da notare anche come, per convenzione, i canali midi siano numerati da 1 a 16. e non 0-15.

Facciamo ora un esempio, prendendo in considerazione lo status byte 9Bh (1001 1011)

I primi 4 bit (1001, oppure 9) ci indicano quale operazione la macchina dovrà eseguire (come vedremo tra poco, il valore 9 corrisponde al comando NOTE ON). gli ultimi 4 bit (1011, o B) corrispondono al canale MIDI 12. I data byte che seguiranno indicheranno i dati relativi all’istruzione (posizione della nota, dinamica).

DESCRIZIONE DI TUTTI GLI EVENTI MIDI

Un ulteriore distinzione che si fa tra categorie di messaggi midi è quella tra CHANNEL MESSAGE ( che a sua volta di distinguono in channel voice message e channel mode message) e SYSTEM MESSAGE.

I messaggi di canale sono quei messaggi che vengono inviati durante una esecuzione. A differenza dei messaggi di sistema quelli di canale sono caratterizzati da un canale MIDI specifico ( come si è visto indicato dal secondo gruppo di 4 bit dello status byte). I channel voice message sono i seguenti : NOTE ON, NOTE OFF, PITCH BEND CHANGE, CONTROL CHANGE, AFTERTOUCH, POLYPHONIC AFTERTOUCH,  PROGRAM CHANGE.

NOTE ON

Il messaggio NOTE ON è il più comune nel linguaggio midi, e viene trasmesso ogni volta che si preme una nota sulla tastiera. E’ composto da tre byte; il primo (lo status byte) porta due indicazioni e cioè il tipo di ordine che il device MIDI deve eseguire (NOTE ON = 9H, nei primi 4 bit) e il canale MIDI al quale la nota si riferisce (n). Il secondo byte indica la nota che è stata eseguita. Poiché i data byte hanno il primo bit necessariamente uguale a 0 i valori possibili sono entro l’intervallo 0-127. Quindi la tastiera virtuale MIDI si estende per 10 ottave + una quinta. E cioè da C-2 a G#8. Poiché l’udito umano è compreso circa tra 20 e20.000 Hz, la tastiera midi va oltre le sue possibilità, avendo la nota midi 0 (C-2, cioè due ottave sotto la nota Do più bassa del piano) frequenza uguale a 8.2 Hz

Spesso le note MIDI vengono indicate o con la notazione anglosassone oppure con il Key number con numeri decimali, per esempio il Do centrale del pianoforte può venire indicato o come C3 oppure con il numero 60. Il secondo byte indica invece la velocity, e cioè la forza con cui il tasto è stato premuto. I valori possibili sono 1-127 (lo 0 è escluso, come verrà spiegato in seguito). Da notare che alcune tastiere non dinamiche trasmettono una Key velocity fissa (es. 64) ma sono in grado di ricevere la dinamica da tastiere esterne. In alcuni sintetizzatori inoltre è possibile una assegnazione dinamica, ciò vuol dire che possiamo assegnare suoni diversi a diversi intervalli dinamici. Per esempio potremmo avere un suono di archi suonando piano (per es. nell’intervallo di Key velocity 1-60) e un suono di ottoni suonando più forte (intervallo 61-127).

NOTE OFF

Il messaggio è analogo a quello NOTE ON, con la differenza  che l’evento indicato è quello di aver rilasciata una nota sulla tastiera. Il terzo byte indica la Realese velocity, cioè la velocità con cui la nota è stata rilasciata, ma non tutte le tastiere sono programmate per trasmettere questa informazione. Il messaggio NOTE OFF è sempre meno utilizzato. Al posto di questo è invece usato il messaggio NOTE ON con il byte Key velociy = 0, che equivale al rilascio della nota. Per capire questa scelta bisogna introdurre una nuova regola del MIDI, il Running Status. Il protocollo MIDI dice infatti che finche lo status byte non cambia (lo stato corrente) si può evitare di rinviarlo, inviando soltanto i data byte. Ecco un esempio: supponiamo di suonare un do centrale con dinamica media (64, 40H) il messaggio midi sarà:   9H – 3CH – 40H (in neretto lo status byte). Supponiamo ora di rilasciare la nota con un messaggio NOTE OFF , verrà trasmesso : 8H – 3CH – 40H. Supponiamo ora invece di rilasciare la nota usando il comando NOTE ON, ecco il codice: 3CH – 00H (notare che per la regola del running status non occorre ripetere lo status byte 9H). Il vantaggio del secondo metodo sta nel fatto che si sono utilizzati 5 byte invece di 6, con risparmio di memoria da parte dei sequencer e un migliore funzionamento della rete midi stessa.

PROGRAM CHANGE

Il messaggio è utilizzato per cambiare il programma in memoria di strumenti MIDI. Nel caso di un sintetizzatore il cambio di programma corrisponde a un timbro specifico, nel caso di un multieffetto corrisponde alla programmazione di un effetto specifico (delay, riverbero con il settaggio di parametri assegnati), per un mixer il program change può corrispondere ad una specifica scena che corrisponde ai valori dei livelli, equalizzazione, mandate ausiliari ecc. Tutte le volte che richiamiamo un suono sullo strumento MIDI questo trasmette questo codice, che consiste in due byte: lo status byte (CN) e un solo data byte. Il fatto che il codice program change abbia abbinato un solo data byte è uno dei tanti limiti del MIDI, infatti sono al massimo richiamabili 128 programmi. Per ovviare a questo ( gli strumenti MIDI oggi presentano memorizzazioni molto maggiori) si utilizzano alcuni artifici (come si vedrà più avanti). E’ da notare come il program change non rappresenti un vero e proprio programma costituito da tanti dati, ma semplicemente un richiamo al programma.

PITCH BEND CHANGE

Con il messaggio pitch bend change si ottiene una variazione continua dell’intonazione delle note. L’effetto ricorda il bending su chitarra, e sui sintetizzatori è trasmesso attraverso un Joystick o una rotella, di solito posta sulla sinistra della tastiera. Il messaggio è composto da tre byte, oltre al solito status byte troviamo due data byte : MSB (byte più significativo) e LSB (byte meno significativo, da non confondere con i Most Significant Bit e i Less Significant Bit che hanno la stessa sigla ma si riferiscono a bit, non a byte). Per capire i MSB e i LSB possiamo fare un esempio numerico : supponiamo di voler misurare una lunghezza, potremmo dire approssimativamente che questa sala è lunga 6 metri. Una misura più accurata però ci porterà a dire che la sala è lunga 6,3 metri. In analogia con i byte (unità di misura informatica) 6 =MSB, 3 = LSB. Quindi per definire i cambi di intonazione abbiamo a disposizione 14 bit, e cioè 214 = 16384 combinazioni (l’orecchio umano è molto sensibile alle variazioni di frequenza).

La prima cosa che si nota è che il pitch bend è riferito ad un canale midi e non alle singole note, questo vuol dire che se utilizziamo il messaggio di pitch bend questo influenzerà tutte le note che in quel momento stanno suonando. Questo è il motivo per cui nelle chitarre MIDI ad ogni corda corrisponde un canale MIDI distinto. Il valore del pitch bend trasmesso inoltre non è un valore assoluto, ma dipende dalle impostazioni dello strumento ricevente (slave). Questo significa che se impostiamo un valore di pitch bend range sullo strumenti = +2/-2 il pitch bend avrà una escursione di un tono ascendente e discendente, in impostazione =+12/-12 avrà invece l’escursione di un’ottava.

AFTERTOUCH

E’ un messaggio per trasmettere la pressione sul tasto dopo che questo è già stato abbassato. Non tutte le tastiere sono in grado di trasmettere questo messaggio. L’aftertouch non ha un effetto univoco sul suono ma viene via definito nei programmi dei sintetizzatori: può corrispondere a un effetto vibrato, di volume, di apertura di un filtro ecc. L’aftertouch può essere usato con efficacia per rendere i suoni elettronici ( che spesso risultano piatti a causa della loro staticità) più espressivi, facendo cioè variare la timbrica (lo spettro armonico nel tempo) per mezzo della pressione successiva sui tasti.

La trasmissione è composta da soltanto due byte, oltre allo status byte è presente un data byte che indica la pressione  (valori 0-127). Non essendoci indicazioni sulla nota l’aftertouch influenza tutte le note del canale MIDI che stanno in quel momento suonando.

L’afertouch è un messaggio continuo ( il sensore manda continuamente il valore di pressione), questo fa sì che spesso i dati trasmessi siano molti fino a creare una saturazione sul canale midi. Per questo spesso questo tipo di messaggio viene eliminato tramite un filtro midi. Esistono poi (come vedremo in seguito) alcuni software che permettono di ridurre i dati continui in maniera da ridurre il numero di byte coinvolti senza però che se ne senta la differenza ( un po’ come le compressioni audio)

AFTERTOUCH POLIFONICO

Questo messaggio risolve il problema precedente dell’aftertouch di canale, essendo composto da 2 data byte è in grado infatti di rilevare non solo la quantità di pressione (data byte 2) ma anche la nota MIDI relativa (data byte 1). Quindi ogni nota suonata può avere un valore di aftertouch diverso (appunto polifonico) con un notevole vantaggio espressivo ma anche con una estrema facilità di saturazione dell’interfaccia MIDI.

Ecco un altro evidente limite del MIDI, che deve il successo ad una standardizzazione universale che ormai dura da quasi 20 anni, e che per questo non si è rinnovato con l’evoluzione della tecnologia: la lentezza di trasmissione. Il MIDI ha una velocità di 31,25 kBaud (migliaia di bit per secondo). Questo limita il MIDI soltanto ad una gestione di codici in grado di pilotare apparecchi esterni, ma risulta inutilizzabile per altre applicazioni musicali come per esempio la gestione dell’audio digitale. Per gestire anche solo una traccia audio di qualità CD occorrerebbe infatti una interfaccia che potesse gestire perlomeno 44100 x 16 =  705.600 kBaud, cioè circa 23 volte più veloce. Questo è il motivo per cui campionatori e registratori digitali hanno, insieme all’interfaccia midi, interfacce più veloci.

CONTROL CHANGE

Questo tipo di messaggio è utilizzato per indicare i cambiamenti disposizione di un qualunque controller (pedale, Joystick, rotella, potenziometro, slider ecc.) Nell’evoluzione MIDI i control change sono poi via via aumentati fino a diventare un’ampia famiglia. Il codice è composto da tre byte; il primo byte è lo status byte, il secondo è il data byte1 che indica il controllo a cui si riferisce (volume, modulazione, ecc.). Il terzo byte definisce invece la posizione del controllo, da 0 a 127. Esistono due tipi di control change, quelli continui (tipo slider di un volume, che può assumere tutti i valori) e quelli tipo interruttore, che possono avere solo due valori: ON/OFF . Sono possibili 128 tipi diversi di control change, ma non tutti sono stati definiti. Seguirà una breve descrizione dei cc più comuni.

MODULATION (1)

Aggiunge un effetto di modulazione di Ampiezza o di frequenza, la cui intensità è proporzionale alla posizione della rotella o del Joystick posto solitamente a sinistra della tastiera. Nei sintetizzatori più sofisticati questo controllo può essere utilizzato per modulare il suono in altri modi, per esempio filtri passa basso.

DATA ENTRY MSB (6)

Consente di cambiare il valore dei parametri di un timbro di una apparecchiatura esterna. E’ utilizzato insieme ai NRPN (vedi più avanti) per indicare il valore relativo al parametro. Se si rende necessario un secondo byte (LSB) per una definizione più accurata si utilizza il control change 38 (data entry LSB)

VOLUME (7)

Serve per il controllo del volume ed ha la stessa funzione del cc 11. Nella programmazione dei midi file viene però raccomandato l’utilizzo del cc volume per le impostazioni iniziali di volume ( le posizioni degli slider su un ipotetico mixer), l’utilizzo del cc espressione (11) per le variazioni dinamiche degli strumenti in tempo reale (per esempio il crescendo dinamico di un accordo suonato da una sezione di archi).

GENERAL PURPOSE CONTROLLER (16-19 e 80 -83)

Sono lasciati ai singoli costruttori per controlli specifici, si fa riferimento in questo caso al libretto istruzioni dello strumento.

LSB FOR VALUE 0-31 (32-64)

Sono i byte meno significativi  nel caso in cui occorra un’accuratezza maggiore nell’indicare la posizione del controllo. Per esempio al cc 7 (volume) è abbinato il cc 39, utilizzando il LSB abbiamo a disposizione 14 bit per un controllo più preciso sul volume. Non solo di solito molto utilizzati.

DAMPER PEDAL (64)

E’ il pedale di sostegno del suono del pianoforte, e fa si che la nota suonata continui anche quando si rilascia il tasto, finché non si stacca il pedale. E’ un tipico controllo a interruttore che ha soltanto due posizioni : ON OFF. I valori tra 0 e 63 sono interpretati come OFF, i valori tra 64 a 127 come ON.

EXTERNAL EFFECT DEPT (91-95)

Definisce la quantità di effetto (simile la mandata ausiliare  di un mixer)presente all’interno di un sintetizzatore o di un expander.

NON REGISTRED E REGISTRED PARAMETER

Servono per cambiare alcuni parametri del suono di un sintetizzatore come l’inviluppo, la gestione del filtro ecc. Li vedremo in dettaglio più avanti.

CHANNEL MODE MESSAGES

Sono messaggi di control change, con la stessa sintassi ma con una funzionalità diversa. Questi messaggi infatti riguardano il controllo generale di una apparecchiatura MIDI e non un singolo parametro. I control change in questione sono con il primo data byte che va da 121 a 127.

Reset all controller (121): riporta tutti i controller nella loro posizione originale.

Local control OFF (122): isola la tastiera dai dispositivi interni del sintetizzatore.

All note OFF (123): Il cosiddetto “Panic Button”, disattiva tutte le note che stanno suonando.

Omni mode OFF/ON (124-125): Abilita/disabilita la modalità OMNI, quando uno strumento midi è settato con la modalità OMNI ON suona indistintamente qualsiasi messaggio MIDI, a prescindere dal canale MIDI sul quale è trasmesso.

Mono mode ON (126): predispone lo strumento in modalità MONO .

Mode Poly ON (127) :predispone lo strumento in modalità Polifonica.

MESSAGGI DI SISTEMA (SYSTEM MESSAGE)

Sono messaggi indipendenti dal canale midi.