concetti fondamentali lezione 2 programmazione midi (prof. luca a. ludovico)
TRANSCRIPT
![Page 1: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/1.jpg)
Concetti fondamentali
Lezione 2
Programmazione MIDI (Prof. Luca A. Ludovico)
![Page 2: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/2.jpg)
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
![Page 3: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/3.jpg)
Il connettore MIDI
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
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.
![Page 4: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/4.jpg)
Specifiche elettriche MIDI-DIN: connettori std
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
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
![Page 5: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/5.jpg)
Specifiche elettriche MIDI-DIN: porta joystick
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
Joystick/MIDI Adapter Diagram
Tratto da: http://www.midi.org/techspecs/electrispec.php
![Page 6: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/6.jpg)
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
![Page 7: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/7.jpg)
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
![Page 8: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/8.jpg)
Jack MIDI in configurazione standard
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
MIDI In, Out e Thru
Porta MIDI
![Page 9: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/9.jpg)
Porte MIDI
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
Cakewalk UM-3G USB MIDI Interface
Micro R&D Pyramid MIDI
![Page 10: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/10.jpg)
Daisy chaining
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
Master Slave 1 Slave 2
MIDI In MIDI InMIDI Out MIDI Thru
• 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
...
Slave n
MIDI Thru
![Page 11: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/11.jpg)
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
![Page 12: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/12.jpg)
MIDI Expander/Thru box
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
MIDI In MIDI InMIDI Out
MIDI Thru
MIDI In
MIDI In
MIDI Thru
MIDI Thru
![Page 13: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/13.jpg)
MIDI Expander/Thru box
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
MIDI Expander Yamaha YME8
![Page 14: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/14.jpg)
Gerarchia MIDI
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
• 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
![Page 15: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/15.jpg)
Broadcasting
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
![Page 16: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/16.jpg)
Broadcasting
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
![Page 17: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/17.jpg)
Broadcasting e daisy chaining
Programmazione MIDI (Prof. Luca A. Ludovico)2. Concetti fondamentali
Computer o Sequencer
Synth AChannel 1
Synth BChannel 2
TastieraChannel 4
MIDI Thru MIDI In MIDI In MIDI InMIDI Thru MIDI Thru
Channel 1: Synth AChannel 2: Synth BChannel 4: TastieraChannel 10: Ritmica
Drum MachineChannel 10
MIDI In
MIDI Out
![Page 18: Concetti fondamentali Lezione 2 Programmazione MIDI (Prof. Luca A. Ludovico)](https://reader036.vdocument.in/reader036/viewer/2022062512/5542eb4b497959361e8b7c42/html5/thumbnails/18.jpg)
SESSIONE DIMOSTRATIVACollegamento di tastiera e sintetizzatore
Programmazione MIDI (Prof. Luca A. Ludovico)5. Messaggi Control Change