Introduzione al corso Presentazione 1.1 Architettura dell'informazione | Prof. Luca A. Ludovico.
MIDI e computer Lezione 17 Programmazione MIDI (Prof. Luca A. Ludovico)
-
Upload
ambrogino-verde -
Category
Documents
-
view
240 -
download
2
Transcript of MIDI e computer Lezione 17 Programmazione MIDI (Prof. Luca A. Ludovico)
MIDI e computer
Lezione 17
Programmazione MIDI (Prof. Luca A. Ludovico)
• Argomenti principali:– Interfacce MIDI per i computer– Implementazione MIDI nelle schede audio– Sintesi FM, Wavetable e SoundFont– Scenari di connessioni MIDI per integrare il computer con gli altri dispositivi
MIDI e Computer
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Negli studi MIDI moderni, un computer è quasi sempre presente
• Utilità– Disponibilità di risorse di calcolo e di memoria– Versatilità: possibilità di lanciare software dall’uso più disparato
• Sequencing• Emulazione di dispositivi• ...
– Possibilità di collegamento
MIDI e computer
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Servono a connettere l’elaboratore ai dispositivi MIDI esterni e viceversa– Bidirezionalità della trasmissione?
• Ne esistono principalmente di 4 tipi:– PCI (Peripheral Component Interconnect)– Parallela– Seriale– USB (Universal Serial Bus)
• Ogni tipo ha il suo connettore; possibilità di convertire un’interfaccia in un’altra tramite un adattatore– Attenzione alla temporizzazione e alla sincronizzazione
Interfacce MIDI
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Ogni interfaccia presenta un ingresso e un’uscita singoli o multipli, ossia una o più porte MIDI
• Ogni porta supporta 16 canali MIDI, quindi un interfaccia multiporta estende il numero di canali gestibili– Esempio: interfaccia MIDI a 8 porte supporta fino a 128 canali
• Quale interfaccia adottare? Dipende…– Dispositivi pre-esistenti– Compatibilità con apparecchiature passate e nuovi standard– Costi ed esigenze
I/O su interfacce MIDI
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Schede audio PC-compatibili spesso avevano una porta femmina a 15 pin per connettere il joystick
• Connessione utilizzabile anche per il MIDI, tramite cavo adattatore con:– un jack a 15 pin maschio a un’estremità– due jack DIN maschi a 5 pin all’altra estremità (MIDI In e MIDI Out)
• Connessione presente su dispositivi consumer, ad esempio sulle schede Creative Sound Blaster
• Svantaggio: un’unica porta MIDI
Porta giochi
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Porta giochi: cavo adattatore
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Porta giochi: schema elettrico
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Interfacce esterne, raramente usate per il MIDI in quanto i costruttori hanno preferito fin dalle origini la porta joystick
• Tecnologie soppiantate sia nel mondo Mac che nel mondo PC da nuovi protocolli, quali USB o FireWire
• Transfer rate– Seriale a 9 pin: dipende dal chip UART (Universal Asynchronous Receiver/Transmitter). Intervallo: [60 ... 768000] bps– Parallela in modalità Enhanced (EPP): 16 Mbps
Porta seriale e parallela
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Interfacce seriali e parallele
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Interfaccia esterna “universale”, disponibile sia su sistemi Mac che PC
• Possibilità (teorica) di collegare fino a 127 dispositivi in catena
• Vantaggi:– Indipendenza dalla piattaforma– Approccio plug-and-play– Collegamento di più dispositivi alla stessa porta
Porta USB (Universal Serial Bus)
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Sia USB che FireWire presentano transfer rate decisamente sovradimensionati per il MIDI
• Confronto:– MIDI: 31.25 Kbps– USB 1.1: 12 Mbps– USB 2.0: 480 Mbps– FireWire 800: 786.432 Mbps
• Possibili problemi:– Temporizzazione con frequenze di clock differenti
Es.: USB legge con granularità 1 ms– Possibilità di collegamento di dispositivi in cascata, che rallentano la trasmissione e occupano la banda teoricamente disponibile
Protocolli e transfer rate
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Alcuni protocolli hanno transfer rate sufficiente per supportare più di una porta MIDI
M-AUDIO MIDISPORT 4 x 4Interfaccia MIDI esterna per PC e Mac, via USB, con 4 MIDI In, 4 MIDI Out
Interfacce multi-porta
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Esistono numerosi software che emulano dispositivi fisici MIDI compatibili
• Per collegare dispositivi virtuali, è possibile fare uso di cavi MIDI virtuali, che trasmettono dati MIDI tra applicazioni software differenti
• Esempio: LoopBe1http://www.nerds.de/en/loopbe1.html
Mette in comunicazione il MIDI Out di un’appli-cazione con in MIDI In di un’altra
Porte MIDI virtuali e strumenti virtuali
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
• Tipicamente le schede audio con sintetizzatore integrato non sono adeguate alla produzione di suono di qualità professionale
• Qual è la funzione dell’elaboratore? La riproduzione del MIDI non è l’unico scopo, vedi ad es. il sequencing
• Il MIDI nelle schede audio: argomenti correlati– Banco di timbri GM integrato– Wavetable– SoundFont
Schede audio con sintetizzatore integrato
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Banco di timbri GM
• 128 timbri relativi a un insieme ordinato di strumenti standard
• Garantisce compatibilità, ma con poca varietà timbrica e qualità della sintesi povera
• Si ottiene tramite chip integrato, che può sfruttare più tecniche:– Sintesi FM– Lettura di campioni da Wavetable
In alternativa, alcuni software implementano strumenti GM virtuali (ad es. QuickTime)
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Wavetable
• Principali sorgenti di suoni per schede audio con sintetizzatore integrato
• Processo simile alla riproduzione di campioni: usano brevi registrazioni di audio digitale come materiale di base per produrre i suoni. Il sintetizzatore integrato non legge semplicemente tali campioni, ma li processa modificando parametri del suono ad es. con opportuni filtri
• Chip di memoria ed espandibilità– Es.: Sound Blaster Live espandibile fino a 64 MB
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
SoundFont
• Tecnologia sviluppata da Creative Labs ed Emu Systems come wavetable standard
• Possibilità di aggiungere timbri a una scheda audio (purchè SoundFont compatibile); esistono però anche sintetizzatori software compatibili
• Similitudine con i True Type Font per i testi
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Esempio pratico di utilizzo
• MuseScore: software multipiattaforma e free per l’editing digitale della partitura– Link: http://musescore.org/
• Funzioni di sintesi basate su SoundFont. Il programma propone una libreria GM standard. Confronto:– TimGM6mb.sf2 (5.7 MB)– Acoustic grand piano - Yamaha Disklavier Pro (132 MB)
http://freepats.zenvoid.org/sf2/acoustic_grand_piano_ydp_20080910.sf2
• Come cambiare la libreria in MuseScore: Mostra → Sintetizzatore
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Risorse online per i SoundFont
• Strumenti software per creare SoundFont:Creative Vienna SoundFont Studio
• Esempi di collezioni scaricabili:– http://soundfonts.homemusician.net/– http://www.hammersound.net/
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Confronto Wavetable vs. SoundFont
• In entrambi i casi, è possibile ampliare il banco di timbri originario della scheda per:– aumentarne il numero– migliorarne la qualità
• In entrambi i casi, i banchi occupano memoria
• A differenza delle wavetable, i SoundFont non sono caricati nella memoria della scheda audio ma in RAM– Espandibilità del banco limitata solo dalle risorse hw della
macchina
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer
Uscite di una scheda audio
Programmazione MIDI (Prof. Luca A. Ludovico)17. MIDI e computer