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 una coppia di conduttori
bilanciati che portano un segnale
da +5V.
Connettore jack DIN a 5-pin
Programmazione MIDI (Prof. Luca A. Ludovico)
2. Concetti fondamentali
Questa configurazione può
portare segnali in un’unica
direzione, quindi per garantire
comunicazione bidirezionale è
necessario un secondo cavo.
Specifiche elettriche MIDI-DIN: connettori std
Connessione di porte MIDI con UART
Lo UART o Universal Asynchronous
Receiver-Transmitter (ricevitoretrasmettitore 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/electri
spec.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
Master
MIDI Thru
Slave 1
MIDI In
MIDI Thru
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
• Esempi:
–
–
Cakewalk UM-3G USB MIDI Interface > multiporta (3 porte)
MIDI Expander/Thru box > multiporta (2 porte) e multiuscita (4 uscite per porta)
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
Sequencer
Channel 1: Synth A
Channel 2: Synth B
Channel 4: Tastiera
Channel 10: Ritmica
MIDI Out
MIDI In
MIDI Thru
Drum Machine
Channel 10
Programmazione MIDI (Prof. Luca A. Ludovico)
2. Concetti fondamentali
MIDI In
MIDI Thru
Synth A
Channel 1
MIDI In
MIDI Thru
Synth B
Channel 2
MIDI In
Tastiera con funz.
di sintesi
Channel 4
Broadcasting e daisy chaining
Sequencer
Channel 1: Synth A e B
Channel 2: Channel 4: Tastiera
Channel 10: Ritmica
MIDI Out
MIDI In
MIDI Thru
Drum Machine
Channel 10
Programmazione MIDI (Prof. Luca A. Ludovico)
2. Concetti fondamentali
MIDI In
MIDI Thru
Synth A
Channel 1
MIDI In
MIDI Thru
Synth B
Channel 1
MIDI In
Tastiera con funz.
di sintesi
Channel 4
Collegamento di tastiera e sintetizzatore
SESSIONE DIMOSTRATIVA
Programmazione MIDI (Prof. Luca A. Ludovico)
5. Messaggi Control Change
Scarica

Presentazione del corso