Concetti fondamentali Lezione 2 Concetti fondamentali Programmazione MIDI (Prof. Luca A. Ludovico)
MIDI = Musical Instrument Digital Interface Acronimo MIDI = Musical Instrument Digital Interface Interfaccia digitale per strumenti musicali Dispositivi hardware MIDI Sequencer ed altri software MIDI Formato General MIDI e standard MIDI file Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Il connettore MIDI Connettore jack DIN a 5-pin Le applicazioni standard usano solo 3 connettori: il filo di messa a terra e una coppia di conduttori bilanciati che portano un segnale da +5V. Questa configurazione può portare segnali in un’unica direzione, quindi per garantire comunicazione bidirezionale è necessario un secondo cavo. Connettore jack DIN a 5-pin Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Specifiche elettriche MIDI-DIN: connettori std Connessione di porte MIDI con UART Lo UART o Universal Asynchronous Receiver-Transmitter (ricevitore-trasmettitore asincrono universale) è un dispositivo hardware che converte flussi di bit di dati da un formato parallelo a un formato seriale asincrono o viceversa. Tratto da: http://www.midi.org/techspecs/electrispec.php Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Specifiche elettriche MIDI-DIN: porta joystick Joystick/MIDI Adapter Diagram Tratto da: http://www.midi.org/techspecs/electrispec.php Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Protocollo di trasmissione: seriale vs parallela La trasmissione seriale è una modalità di comunicazione tra dispositivi digitali nella quale le informazioni sono comunicate una di seguito all'altra e giungono sequenzialmente al ricevente nello stesso ordine in cui le ha trasmesse il mittente. Modalità sincrona: 2 fili (uno per i dati, uno per il clock) + terra Modalità asincrona: il trasmettitore ed il ricevitore si sincronizzano usando i dati stessi, ma meno efficiente perché richiede l’invio di bit di partenza, di parità e tempo di stop Nella trasmissione parallela vengono utilizzati più conduttori per trasmettere simultaneamente informazioni. Per trasmettere n bit il cavo è formato da almeno n conduttori separati. Nella realtà il cavo sarà dotato quasi sicuramente di un cavo aggiuntivo per la massa e anche di altri cavi di controllo come quello di clock. Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Perché MIDI è seriale? Nonostante la maggior complessità architetturale e gestionale rispetto alla trasmissione parallela, la modalità seriale è una delle più diffuse in ambito informatico perché: richiede un minor numero di fili con conseguente riduzione dei costi è più tollerante rispetto alle interferenze e agli errori di trasmissione Velocità di trasmissione MIDI: 31250 bps = ca. 3906 Byte/s Audio digitale: 44100 x 16 bits x 2 = 1141200 bps = 176400 Byte/s Velocità adeguata? Contando i bit di ridondanza (2 per 8 bit di dati), si hanno 3125 pacchetti MIDI al secondo Non si tratta esattamente di note e nemmeno di messaggi, che richiedono più pacchetti Attenzione: è comunque seriale! Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Jack MIDI in configurazione standard Porta MIDI MIDI In, Out e Thru Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Porte MIDI Cakewalk UM-3G USB MIDI Interface Micro R&D Pyramid MIDI Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Daisy chaining ... MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru Master Slave 1 Slave 2 Slave n Un dispositivo si definisce master quando controlla uno o più dispositivi slave Esempio in figura: un controller di tipo tastiera pilota più sintetizzatori Attenzione: uso di MIDI In, Out e Thru Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Limiti del daisy chaining Ritardi dovuti alla lunghezza dei cavi Ritardi dovuti alla circuiteria Fenomeni di ingolfamento MIDI data clog o MIDI choking Esempio Soluzione: MIDI Thru box Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
MIDI Expander/Thru box MIDI In MIDI Thru MIDI Thru MIDI Out MIDI In MIDI In MIDI Thru MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
MIDI Expander/Thru box MIDI Expander Yamaha YME8 Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Gerarchia MIDI Porta MIDI o bus MIDI (unione di In, Out e Thru) Non necessariamente tutte presenti, e presenti con questa cardinalità: dipende dal dispositivo! Canali MIDI: 16 canali per porta, numerati da 1 a 16 Dispositivi multi-uscita e multi-porta Multi-uscita: replicano i 16 canali MIDI su ciascuna uscita n uscite > 16 canali disponibili (replicati n volte) Multi-porta: presentano porte MIDI indipendenti n uscite > n x 16 canali disponibili indipendenti Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Broadcasting Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Broadcasting Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Broadcasting e daisy chaining Computer o Sequencer Channel 1: Synth A Channel 2: Synth B Channel 4: Tastiera Channel 10: Ritmica MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru MIDI In MIDI Thru MIDI In Drum Machine Channel 10 Synth A Channel 1 Synth B Channel 2 Tastiera Channel 4 Programmazione MIDI (Prof. Luca A. Ludovico) 2. Concetti fondamentali
Sessione dimostrativa Collegamento di tastiera e sintetizzatore Sessione dimostrativa Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Control Change