200 likes | 484 Views
Lezione 2. Concetti fondamentali. Programmazione MIDI (Prof. Luca A. Ludovico). 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.
E N D
Lezione 2 Concetti fondamentali Programmazione MIDI (Prof. Luca A. Ludovico)
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 Le applicazioni standard usano solo 3 connettori: il filo di messa a terra e unacoppia di conduttoribilanciaticheportano un segnale da +5V. Questa configurazionepuòportaresegnali in un’unicadirezione, quindi per garantirecomunicazionebidirezionale è 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 AsynchronousReceiver-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 • 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 ... MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru Slave 2 Slave n Master Slave 1 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 uscitan uscite > 16 canali disponibili (replicati n volte) • Multi-porta: presentano porte MIDI indipendentin 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 Channel2: Synth B Channel 4: Tastiera Channel 10: Ritmica MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru MIDI In MIDI Thru MIDI In DrumMachine Channel 10 Synth A Channel 1 Synth B Channel 2 Tastiera Channel 4 Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
Collegamento di tastiera e sintetizzatore Sessione dimostrativa • Programmazione MIDI (Prof. Luca A. Ludovico)5. Messaggi Control Change