ForumFree.net

Reply
Il M.I.D.I., music instrument digital interface
view post Posted on 6/11/2007, 22:55Quote
Avatar

Analog Tecne Model

Group: Ammin
Posts: 977
Location: Pa


Status: Offline: ultima azione eseguita il 23/12/2009, 21:30


Messaggi MIDI


CHANNEL MESSAGES

Abbiamo parlato fino ad ora di messaggi MIDI contenenti informazioni relative all'esecuzione musicale,
per esempio: "suona il DO della quarta ottava, con velocità 100%". Questi messaggi appartengono alla
famiglia dei CHANNEL MESSAGES (messaggi di canale).


I messaggi di canale possono essere riconosciuti solo dagli strumenti "sintonizzati" su quel canale.
All'interno di un messaggio di canale è dunque specificato un numero (da 1 a 16) che indica su quale canale
quel messaggio va ricevuto.


I messagghi di canale ci permettono di trasmettere contemporaneamente sullo stesso cavo MIDI le
informazioni relative all'esecuzione musicale (note, velocità, pitch bender, cambi di programma ecc.)
mantenendole distinte per ogni canale per far suonare i vari moduli del nostro sistema, ognuno predisposto
sul canale più adatto.


I messaggi di canale si dividono in due famiglie: VOICE MESSAGES e MODE MESSAGES, messaggi
di voce e messaggi di modo.




VOICE MESSAGES

NOTE ON
Questo messaggio serve ad "accendere" una certa nota. Ogni volta che su una tastiera MIDI viene
premuto un tasto, la tastiera genere (ed invia tramite la sua porta MIDI OUT) un messaggio NOTE ON che
contiene le seguenti informazioni :



  • Numero di canale MIDI
  • Numero di nota MIDI
  • Velocità di attacco


Nella codifica MIDI i numeri di nota trasmessi e riconosciuti vanno da 0 a 127, e sono equivalenti ad una
ipotetica tastiera di 128 tasti. Le tastiere di cui normalmente gli strumenti musicali elettronici sono dotati
hanno 61 tasti (5 ottave). Usando le sigle inglesi delle note, in una normale tastiera a 61 tasti il DO più
basso e denominato con "C1" (equivalente al numero di nota 36 nella codifica MIDI) mentre il più alto è
"C6" (equivalente al numero 96). Il DO centrale è "C3" (numero di nota 60). Utilizzando la stessa terminologia,
potremo dire che l'estensione della ipotetica tastiera formata dalle note MIDI va da "C2" (pari a 0 nella
codifica MIDI) a "G8" (127)


La "Velocità di Attacco" (detta anche "Velocity") è il parametro con il quale viene descritta la velocità con
cui è stato premuto un tasto. Anche in questo caso vengono utilizzati i numeri da 0 a 127.


Alcune tastiere non sono sensibili alla dinamica, cioè non riescono a capire con quale velocità sono stati
premuti i tasti. Anche queste tastiere devono trasmettere il parametro "velocità di attacco" che però è
sempre fisso e pari a 64.


Nota :

I range numerici da 0 a 127 sono abbastanza ricorrenti nella codifica MIDI. Il linguaggio
MIDI è un linguaggio digitale binario. L'alfabeto binario è molto povero, infatti le sue lettere,
dette "bit", sono solo due: 0 e 1. Tutto ciò che si vuole esprimere via MIDI è basato su
parole composte da una serie di bit, cioè da una serire di 0 e di 1. Poichè nel MIDI si
utilizzano parole della lunghezza fissa di 8 bit (dette byte), il numero più basso esprimibile
in questo modo è "00000000" (pari a 0), mentre il più alto è "11111111" (pari a 127).




NOTE OFF

Col messaggio NOTE OFF non è comunicata la durata della nota, cioè il tempo per il quale il
tasto da noi scelto è stato premuto. Per "spegnere" una nota "accesa", quando un tasto premuto in
precedenza viene rilasciato, viene inviato un altro messaggio (NOTE OFF) con le seguenti informazioni:



  • Numero di canale MIDI
  • Numero di nota MIDI
  • Velocità di rilascio


Le prime due informazioni sono analoghe a quelle viste per il messaggio "note on", la terza esprime invece
la velocità con cui il tasto viene rilasciato (cioè con la quale le dita vengono sollevate dalla tastiera). Questa
informazione viene trasmessa solo da pochissime tastiere sensibili anche alla velocità di rilascio, mentre
tutte le altre trasmettono un valore fisso pari a 64.


Esiste anche un altro metodo per "spegnere" una nota: invece di inviare un messaggio NOTE OFF, molte
tastiere inviano nuovamente un messaggio NOTE ON, quest volta però con velocità di attacco uguale a 0.


Può capitare a volte che, in caso di malfunzionamenti MIDI, il messaggio NOTE OFF (o il NOTE ON con
velocità nulla) non venga trasmesso o non venga ricevuto. La nota interessata continuerà a suonare anche se
il tasto corrispondente è stato rilasciato. Per "spegnere" una nota rimasta "accesa" si può intervenire in vari modi:




  • dalla tastiera Master, provando a inviare un messaggio MIDI di cambio programma o prememndo un pulsante
    chiamato MIDI PANIC, se essa ne è dotata
  • direttamente dallo strumento che genera il suono, cambiando il programma impostato o, nei casi estremi,
    spegnendolo e riaccendendolo. Se si adotta questa ultima soluzione è bene ricordare che, dopo aver
    spento un qualunque strumento elettronico, è sempre consigliabile aspettare qualche secondo prima di
    riaccenderlo.


CHANNEL PRESSURE e POLY KEY PRESSURE

Sulla tastiera di molti strumenti elettronici è possibile, dopo aver premuto il tasto per suonare, esercitare
una ulteriore pressione sullo stesso, completamente diversa e indipendente dalla velocità con cui il tasto è stato
premuto. Questa pressione viene chiamata aftertouch. Questa informazione, una volta ricevuta da uno
strumento abilitato a riconoscerla, viene utilizzata per produrre delle variazioni o modulazioni sul suono (per
esempio aggiungere un vibrato). Non tutte le tastiere sono sensibili a questo tipo di controllo.


Generalmente, quando si parla semplicememnte di AFTERTOUCH, si intende definire la pressione di canale o
CHANNEL PRESSURE. In pratica la tastiera genera un solo messaggio di pressione determinato
dalla pressione più forte esercitata sui tasti premuti in quel momento. Questo parametro influenza però allo stesso
modo tutte le note che in quel momento sono "accese" sul canale MIDI, quindi anche le note corrispondenti a
tasti abbassati sui quali non viene esercitata alcuna pressione o a quelli non più abbassati ma mantenuti in
"Sustain" con l'apposito pedale. Le informazione trasmesse dal messaggio di CHANNEL PRESSURE sono:




  • Numero di canale MIDI
  • Pressione (che può assumere valori da 0 a 127)


Alcune tastiere possono trasmettere un'informazione di pressione più sofisticata : la POLY KEY PRESSURE,
detta anche "pressione polifonica" o "aftertouch polifonico". In questo caso, l'informazione di pressione viene
trasmessa per singolo tasto, quindi rispetto alla pressione di canale la Poly Key Pressure comporta
l'aggiunta dell'indicazione del numero di nota interessata alla pressione, quindi il messaggio è così composto:



  • Numero di canale MIDI
  • Numero di nota MIDI
  • Pressione



È da sottolineare che, una volta stabilito se la nostra tastiera Master è capace di trasmettere una
pressione polifonica o una pressione di canale, bisogna assicurarsi che anche gli expander collegati siano
abilitati al riconoscimento di questo tipo di messaggi. Normalmente, gli expander dell'ultima generazione
sono in grado di riconoscere entrambi i tipi di pressione: il riconoscimento però deve essere abilitato all'interno
dello strumento, solitamente mediante un menù denominato "MIDI". Inoltre, se un expander è abilitato a
riconoscere solo una pressione di canale (o una pressione polifonica) la ricezione dell'altro tipo di messaggio
non causerà nessun effetto.


PROGRAM CHANGE

Tutti i moderni strumenti elettronici offrono la possibilità di ottenere svariati suoni chiamati anche
patch o preset. Ad esempio un sintetizzatore permette normalmente di utilizzare timbri di pianoforte, organo,
chitarra ecc. Per cambiare il suono (preset) impostato si può normalmente azionare un opportuno comando
di Cambio Programma sul pannello di controllo dello strumento. Questo comandopuò essere
trasmesso via MIDI mediante un messaggio di PROGRAM CHANGE, che contiene le seguenti
informazioni:



  • Numero di canale MIDI
  • Numero di Programma


Affinchè un comando di PROGRAM CHANGE possa essere ricevuto è necessario che lo strumento ricevente
sia abilitato alla sua ricezione: solitamente, all'interno del menù MIDI, ci deve essere un parametro
PROGRAMCHANGE=ON.



Il MIDI codifica i numeri di Program Change da 0 a 127. All'interno degli strumenti musicali però
esistono vari metodi per riconoscere questo tipo di informazione, essi dipendono dal tipo di organizzazione
interna dei preset dello strumento. Alcuni strumenti presentano i propri preset raggruppati in "banchi".
Questi banchi possono avere varie grandezze, le più utilizzate sono 64 e 128.


Per esempio, in uno strumento dotato di due "banchi" formati ognuno da 64 preset, i PROGRAM CHANGE
da 0 a 63 serviranno a selezionare i suoni del primo banco, quelli da 65 a 128 i suoni del secondo banco.
In uno strumento dotato di più di 128 preset le cose sono un pò differenti, infatti i numeri da 0 a 127 non
sono sufficienti a selezionare tutti i suoni offerti dallo strumento.


Per risolvere questo problema esistono vari metodi:



  • l'utilizzo della Program Change Table, cioè di tabelle di cambi programma, definite all'interno
    dello strumento ricevente (per esempio per associare al "program change 95" il preset numero 251);
    per poter selezionare un qualunque preset dello strumento, occorrerà allora attivare in precedenza una
    adeguata tabella
  • un secondo metodo è quello di utilizzare, oltre al messaggio di cambio programma, un secondo messaggio
    per impostare un cambio di banco.



Nota:

Questo messaggio, chiamato BANK SELECT, è stato codificato nel linguaggio MIDI, all'interno delle
specifiche del GENERAL MIDI. Se si possiedono strumenti dotati di più di 128 preset e si desidera capire
la modalità di selezione via MIDI dei vari banchi, è consigliabile consultare i relativi manuali.



CONTROL CHANGE

Significa "modifica di un controllo": non si tratta di un singolo messaggio, ma di una intera famiglia di
messaggi strutturati come segue:



  • Numero di canale MIDI
  • numero di Control Change
  • Valore



Il numero di Control Change può assumere un valore compreso tra 0 e 120, mentre il Valore è
un numero compreso tra 0 e 127.


Con i messaggi di CONTROL CHANGE è possibile descrivere qualsiasi operazione compiuta sulla tastiera Master
tramite un qualsiasi Controller: azionare il pedale del Sustain, muovere un cursore, una rotella, ecc. I vari Controller
presenti su un sintetizzatore o su una Master Keyboard sono dunque numerati con dei numeri compresi tra 0 e 127.
Il valore invece indica la posizione assunta dal Controller.


Alcui Controller comportano l'invio di informazioni molto semplici, per esempio i Controller tipo INTERRUTTORE ON/OFF
(come il pedale del Sustain). In questo caso, trasmettendo un Valore compreso tra 64 e 127 si indica la posizione ON
(per esempio: pedale premuto), mentre con un Valore tra 0 e 63 si indica la posizione OFF (per esempio: rilascio pedale).


Altri Controller, chiamati continui, necessitano invece di maggiori dettagli. Infatti, ad ogni posizione di un
Controller continuo (per esempio il pedale del Volume ola ruota di MODULATION) corrisponde un numero
compreso tra 0 e 127.



Inoltre esistono alcuni Controller continui per i quali occorre una precisione ancora maggiore di quella esprimibile con
un range di valori da 0 a 127. In questi casi il MIDI permette di differenziare la trasmissione inviando due messaggi,
uno relativo alla "macro-posizione" (0...127) ed uno per la "micro-posizione" (0...127).


Come è possibile osservare nella tabella qui sotto non tutti i numeri di Controller sono definiti. In questo modo il MIDI
permette di lasciare spazio a nuovi tipi di Controller che verranno definiti in seguito, oppure di personalizzare la
tabella: ogni casa costruttrice può utilizzare le posizioni General Purpose per controllare delle particolari
funzioni di un nuovo strumento.





TABELLA DEI CONTROL CHANGE
0undefined66SOSTENUTO
1MODULATION67SOFT PEDAL
2BREATH68undefined
3undefined69HOLD 2
4FOOT70-79undefined
5PORTAMENTO TIME80-83GENERAL PURPOSE
6DATA ENTRY MSB84-90undefined
7MAIN VOLUME91EXTERNAL EFFECT DEPTH
8BALANCE92TREMOLO DEPTH
9undefined93CHORUS DEPTH
10PANPOT94CELESTE DEPTH
11EXPRESSION95PHASER DEPTH
12-15undefined96DATA INCREMENT
16-19GENERAL PURPOSE97DATA DECREMENT
20-31undefined98Non-Registered Parameter Number LSB
32BANK SELECT99Non-Registered Parameter Number LSB
33-63LSB for Values 0-31100Registered Parameter NUmber LSB
64DAMPER PEDAL101Registered Parameter Number LSB
65PORTAMENTO102-121undefined


PITCH BENDER

Il messaggio Pitch Bender serve a fornire la posizione dell'omonima rotella o joystick. Questo controllo
viene utilizzato per fornire una variazione momentanea dell'intonazione delle note in quel momento "accese" sul canale.
La variazione è momentanea perchè dura fino a quando la rotella di Pitch Bender non ritorna nella sua posizione di
riposo.



Anche il controllo di PITCH BENDER necessita di una descrizione molto fine, infatti l'orecchio umano è molto sensibile
alle variazioni di intonazione di un suono. Non essendo sufficiente un range di valori da 0 a 127 per descrivere questa
variazione, anche per il Pitch Bender vengono utilizzati due parametri di descrizione dello spostamento della
rotella (o del joystick).


Il contenuto del messaggio di PITCH BENDER è il seguente:



  • Numero di canale MIDI
  • Entità di Spostamento 1
  • Entità di Spostamento 2


Entrambi i parametri Entità di Spostamento possono assumere valori da 0 a 127.





MODE MESSAGES


I messaggi di modo vengono trasmessi a tutti gli effetti come dei messaggi di "Control Change", ma
vengono da questi separati per la differenza concettuale tra i primi e i secondi.


Infatti, mentre i messaggi di "Control Change" interessano un singolo parametro, come del resto tutti gli altri VOICE MESSAGES
(note, program change, ecc.), i messaggi di modo servono ad impostare una condizione operativa del canale
o dell'intero strumento.


I messaggi di modo vengono trasmessi allo stesso modo dei Control Change: per essi si utilizzano i Control Change
con numerazione da 121 a 127.


I messaggi di modo sono 7 e precisamente:


RESET ALL CONTROLLERS - n.121

Serve ad effettuare un reset di tutti i controllers di un certo canale MIDI. È utile per "azzerare" determinati controllers
(per esempio una rotella di modulation) per i quali, a causa di un malfunzionamento MIDI o altre cause, non sia stato
inviato un messaggio che li riportasse alla posizione di riposo.


LOCAL CONTROL - n.122

Imposta la condizione LOCAL OFF/LOCAL ON su un determinato strumento. Tale condizione serve a determinare se
la sezione di generazione sonora di un certo strumento può essere pilotata direttamente dalla tastiera dello strumento stesso
(LOCAL ON) oppure solo via MIDI (LOCAL OFF).


In modo LOCAL OFF normalmente la tastiera dello strumento continua a funzionare come Master Keyboard, cioè genera i
messaggi MIDI che verranno poi inviati all'esterno tramite la porta MIDI OUT.


ALL NOTES OFF -n.123

Serve a "spegnere" tutte le note rimaste "accese" su un certo canale (in caso di malfunzionamento o di errori MIDI).


OMNI MODE OFF/OMNI MODE ON - n.124/125

Questi due messaggi servono ad impostare i rispettivi modi MIDI OMNI OFF e OMNI ON.


MONO MODE ON/POLY MODE ON - n.126/127

Questi due messaggi servono ad impostare i rispettivi modi MIDI MONO ON e POLY ON.




<!-- ------------------------------------------------------------------------- -->

SYSTEM MESSAGES



I SYSTEM MESSAGES o messaggi di sistema si differenziano dai Channel Messages perchè possono essere ricevuti
da tutti i moduli che compongono il nostro sistema MIDI, indipendentemente dal canale sul quale i moduli siano "sintonizzati".


All'interno di questi messaggi infatti non è specificato un numero di canale di trasmissione. La loro funzione è quella di
trasmettere informazioni che devono essere ricevute da tutti gli strumenti di una catena MIDI.


I System Messages si dividono in tre famiglie: REAL TIME MESSAGES (messaggi in tempo reale), COMMON MESSAGES
(messaggi comuni) e SYSTEM EXCLUSIVE.


Si potrebbe considerare anche una quarta famiglia chiamata SAMPLE DUMP STANDARD derivata da SYSTEM EXCLUSIVE.
Questi messaggi vengono utilizzati per effettuare scambi di dati digitali (campioni) tra campionatori di marche anche diverse fra loro.




REAL TIME MESSAGES


CLOCK

È un segnale di sincronismo: praticamente permette di sincronizzare tra loro tutti i dispositivi quali Sequencer,
batterie elettroniche ecc. Questo segnale viene inviato da uno solo dei dispositivi (Master), che genera il Clock e perciò al
suo interno il parametro MIDI CLOCK dovrà essere impostato su "internal" (MIDI CLOCK=INT). Per sincronizzare tutti gli altri
dispositivi (Slave) col MASTER, bisognerà impostare, in ognuno di essi, il parametro MIDI CLOCK=MIDI.


START

È il segnale che serve a far partire tutti i dispositivi sincronizzati. Ogni volta che il segnale di START viene ricevuto,
tutti i dispositivi cominciano l'esecuzione (o la registrazione) della song (o della sequenza) impostata, partendo dalla prima battuta.


STOP

Questo messaggio ferma tutti i dispositivi sincronizzati.


CONTINUE

Come il messaggio di Start, anche questo serve a far partire tutti i dispositivi sincronizzati però, a differenza del primo,
serve a far riprendere l'esecuzione della song (o della sequenza) dal punto esatto in cui era stata interrotta mediante un messaggio
di STOP.


SYSTEM RESET

Mediante questo messaggio è possibile ordinare a tutti gli strumenti collegati di effettuare un reset, ripristinando così le
condizioni che dovrebbero essere impostate in ogni strumento al momento della sua accensione.




<!-- ------------------------------------------------------------------------- -->

COMMON MESSAGES



SONG SELECT

Questo messaggio permette la selezione di una particolare song tra quelle contenute nella memoria di un Sequencer o di
una batteria elettronica. La song selezionata tramite SONG SELECT sarà quella che partirà in conseguenza di un successivo
messaggio di START.


SONG POSITION POINTER

È un indice del punto attualmente raggiunto nell'esecuzione di una song. Viene utilizzato per facilitare le operazioni
di sincronismo.


EOX

END OF EXCLUSIVE: è un messaggio di sistema comune che viene utilizzato per chiudere l'invio di una serie di dati
System Exclusive.




<!-- ------------------------------------------------------------------------- -->

SYSTEM EXCLUSIVE


Questa famiglia di messaggi serve ad effettuare le più sofisticate operazioni di programmazione o di controllo su un certo strumento.


Tramite questi messaggi (chiamati anche "SysEx") è possibile effettuare il dump di uno strumento, ovvero inviare all'esterno,
tramite MIDI OUT, l'intero contenuto della memoria dello strumento, tutti i parametri interni, il setup, i programmi caricati, ecc.
Il dump così effettuato può essere salvato su un cosiddetto "registratore dati SysEx" (normalmente un Sequencer o un computer),
per poter essere rimandato allo strumento quando lo si desideri, ripristinando così il suo stato al momento del salvataggio dei dati.



Inoltre è possibile, utilizzando determinati programmi su computer chiamati EDITOR, controllare i singoli parametri che caratterizzano
il suono di un determinato strumento: ad esempiovariare l'apertura di un filtro, cambiare i parametri di inviluppo ecc.


È evidente che i messaggi System Exclusive, estremamente legati all'architettura interna di un determinato strumento, sono
personalizzati, cioè possono essere compresi solo dallo strumento che li ha generati, gli altri strumenti si
limiteranno ad ignorarli. All'interno di un qualsiasi messaggio SysEx deve dunque essere contenuto un codice di intestazione
in cui è dichiarato il nome del destinatario del messaggio.


Nota:

Il codice di intestazione viene trasmesso mediantel'invio di un byte chiamato ID. In realtà, non viene trasmesso un
codice per ogni strumento esistente, in quanto il numero di ID differenti dovrebbe essere troppo elevato. Il protocollo MIDI si limita
ad identificare il costruttore dello strumento, mediante una tabella che associa ad ogni costruttore un suo numero ID. La prima
cosa che uno strumento fa, non appena ricevuto un messaggio SysEx, è cercare di riconoscere il codice ID in esso contenuto;
se tale codice è quello relativo al proprio costruttore, lo strumento continua ad analizzare il messaggio, altrimenti lo trascura.
All'interno del messaggio vero e proprio, ogni costruttore è abbastanza libero di utilizzare una propria codifica, sia per individuare,
tra i propri, lo strumento interessato dal messaggio, sia per codificare i vari parametri dello strumento.





© by Remo Rombi

Analog Tecnè Model
Music Production - Sound Design - Samples Kit - Mastering


www.atm23.net - www.myspace.com/analogtecnemodel - www.myspace.com/hesedatm - www.myspace.com/tecne - www.myspace.com/trinacriarecords

image

image
 
P_MSG P_EMAIL P_WEBSITE P_MSN P_ICQ Top
0 replies since 6/11/2007, 22:55
 
Reply

load
Fast reply

 
 
 

Enable emoticons
Clickable Smilies
Show All


Nickname:      Email:



 

 
 




International Yellow Skin, all created by ~R3v