Differenze tra le versioni di "Il protocollo Midi"

Da Gambas-it.org - Wikipedia.
Riga 27: Riga 27:
  
 
====Il ''Canale'' Midi====
 
====Il ''Canale'' Midi====
......
+
Il ''Canale'' Midi è un'impostazione presente in ciascun evento Midi che permette a un dispositivo di filtrare gli eventi Midi riproducendo soltanto quelli appartenenti a un determinato ''Canale''. <SUP>&#091;[[#Note|nota 2]]&#093;</sup>
  
 
====Esempio di byte di ''Stato''====
 
====Esempio di byte di ''Stato''====
Riga 57: Riga 57:
 
[1] Il bit "''più significativo''" è quello più a sinistra all'interno del Byte, e al quale è associato il valore 128:
 
[1] Il bit "''più significativo''" è quello più a sinistra all'interno del Byte, e al quale è associato il valore 128:
 
  <FONT Color=#B22222><B>1</b></font> 0 0 0 0 0 0 0
 
  <FONT Color=#B22222><B>1</b></font> 0 0 0 0 0 0 0
 +
 +
[2] Quando un dispositivo, filtrando le informazioni canalizzate ricevute, prende in considerazione soltanto quelle assegnate a uno specifico Canale, si parla di " ''sintonizzazione'' ". Così, se il dispositivo è impostato per prendere in conderazione i dati appartenenti al Canale 3, si dice che tale dispositivo è ''sintonizzato'' sul Canale 3.
  
  

Versione delle 09:40, 5 mag 2018

Il M.I.D.I. (Musical Instrument Digital Interface) è un protocollo di trasmissione seriale di dati che avviene alla velocità di 31250 bit al secondo.
Tali dati Midi vengono trasmessi uno dopo l'altro (in modo seriale, in sequenza), e ricevuti dal dispositivo ricevente nell'ordine sequenziale in cui sono stati trasmessi.
Un insieme di due o tre byte, previsto dal protocollo Midi e corrispondenti a un elemento costitutivo di un brano musicale, rappresentano un Messaggio Midi. Ogni Messaggio Midi è anche considerato un Evento musicale Midi, in quanto esso "accade" nel tempo.

Byte di Stato e byte di Dati

Si è detto che ogni Messaggio Midi è costituito da due o tre byte. Va precisato che riguardo al significato dei byte, costituenti il Messaggio Midi, essi vanno considerati considerati, e non come un unico valore numerico formato da due o tre byte. Pertanto ogni singolo byte del Messaggio Midi apporta una propria specifica informazione.
Da ciò deriva che ogni signola informazione è scritta utilizzando i valori rappresentabili da 8 bit (un Byte), ossia da 0 a 255 per un totale - come si sa - di 256 combinazioni possibili.

Il primo byte costituente il Messaggio Midi è chiamato byte di "Stato" (ma anche Messaggio di Stato); il seguente o i seguenti sono chiamati byte di "Dati" (ma anche Messaggio di Dati).
Pertanto la sequenza di invio da un dispositivo Midi trasmittente a un altro ricevente avviene in sequenza come mostrato:

|PORTA |                                                                  |PORTA  |
|USCITA|---> 2° Byte di Dati ---> 1° Byte di Dati ---> Byte di Stato ---> |ENTRATA|
|Midi  |                                                                  |Midi   |

Il primo Byte a uscire dal dispositivo Midi trasmittente è il Byte di Stato, poi esce il 1° Byte di Dati e infine esce il 2° Byte di Dati. Analogamente, il primo Byte a entrare nel dispositivo Midi ricevente è il Byte di Stato, poi entra il 1° Byte di Dati e infine il 2° Byte di Dati.

I byte di Stato e i byte di Dati strutturalmente si differenziano per l'ambitus di valori rappresentati dal loro Byte. In particolare i byte di Stato utilizzando i valori da 128 a 255, mentre i byte di Dati utilizzano i valori compresi tra 0 e 127.
Ciò significa che nei byte di Stato il bit più significativo [nota 1] è sempre posto a 1, mentre nei byte di Dati il bit più significativo è posto sempre a 0 .

Il byte di Stato

Il Byte di Stato informa in dispositivo ricevente sul tipo di Messaggio (sulla sua funzione) e sul Canale al quale appartiene.
Per conferire queste due informazioni, il Byte di Stato divide in tre gruppi i bit costituenti il suo Byte, come appresso specificato:

1 b b b b b b b

Il primo bit, sempre posto a 1, specifica che si tratta genericamente appunto di un Byte di Stato.
I seguenti tre Byte sono utilizzati per definire il tipo di Messaggio Midi di appartenenza.
Gli ultimi quattro bit specificano il Canale, al quale il Messaggio Midi appartiene.
Va però detto che il tipo di Messaggio Midi è comunque definito sulla base dei primi 4 bit più significativi appartenenti al Byte di Stato, ossia che il valore che specifica il tipo di Messaggio Midi comprende anche il bit più significativo.

Il Canale Midi

Il Canale Midi è un'impostazione presente in ciascun evento Midi che permette a un dispositivo di filtrare gli eventi Midi riproducendo soltanto quelli appartenenti a un determinato Canale. [nota 2]

Esempio di byte di Stato

Mostriamo un esempio di byte di Stato:

1 0 0 1 1 0 0 1

I bit suddetti specificano che è un Byte di Stato, che individua un Messaggio Midi di tipo "Note-On", appartenente al Canale "10". il valore complessivo associato a questo esempio di Byte di Stato è pertanto "&h99".

Il Byte di Dati

I Byte di Dati apportano informazioni fondamentali aggiuntive di dettaglio associate al Messaggio Midi inviato. I Messaggi Midi - a seconda del tipo - possono avere uno o due Byte di Dati.
Come è stato già detto, nel Byte di Dati il bit più significativo è sempre posto a 0. Pertanto il Byte di Dati può assumere esclusivamente valori compresi fra 0 e 127.

Tipologia dei Messaggi Midi

Ogni Evento (Messaggio) Midi è considerato un elemento fondamentale nella dinamica musicale, o perché costitutivo del brano (si pensi ad esempio all'esecuzione di una nota), o perché influenza in modo determinante l'esecuzione musicale (si pensi ad esempio allo strumento utilizzato).

I Messaggi Midi si suddividono secondo la seguente tipologia:
Channel Voice Messages;
Channel Mode Messages;
System Common Messages;
System Real Time Messages;
System Exclusive Messages.

Per comprendere meglio l'associazione dei valori ai singoli Byte (di Stato e di Dati) appartenenti essenzialmente ai Messaggi Midi, è opportuno immaginare l'azione del dito di un esecutore su un pianoforte o su una tastiera elettronica con tasti dinamici.

......


Note

[1] Il bit "più significativo" è quello più a sinistra all'interno del Byte, e al quale è associato il valore 128:

1 0 0 0 0 0 0 0

[2] Quando un dispositivo, filtrando le informazioni canalizzate ricevute, prende in considerazione soltanto quelle assegnate a uno specifico Canale, si parla di " sintonizzazione ". Così, se il dispositivo è impostato per prendere in conderazione i dati appartenenti al Canale 3, si dice che tale dispositivo è sintonizzato sul Canale 3.


xxxx

Pagina in costruzione !