Web MIDI API - Esempi Lezione 24 Programmazione MIDI (Prof. Luca A. Ludovico)
Prerequisiti Competenze Rudimenti di programmazione per il Web HTML + CSS + JavaScript Catena MIDI: sintetizzatore MIDI hardware o software (virtuale) collegato alla macchina Esempi: CoolSoft VirtualMIDISynth (Windows), SimpleSynth (Mac), FluidSynth (multipiattaforma) Browser: Chrome / Chromium Programmazione MIDI (Prof. Luca A. Ludovico) 24. Web MIDI API - Esempi
Esempio 1: tastiera_virtuale.html Questo esempio mostra l’associazione di eventi MIDI – in particolare NoteOn e NoteOff - a eventi generati dalla pagina Web – in particolare onmousedown, onmouseup e onmouseout. L’utente può scegliere tra gli output MIDI presenti sul sistema. Viene inoltre consentito all’utente di scegliere il timbro da associare al controller virtuale, inviando messaggi opportuni di Program Change. Programmazione MIDI (Prof. Luca A. Ludovico) 24. Web MIDI API - Esempi
Esempio 2: armonizzatore.html Questo esempio introduce l’invio di messaggi su vari canali, a ciascuno dei quali viene associata inizialmente una patch. E’ possibile creare tipi di armonizzazione differente, a seconda della scelta da parte dell’utente: triadi maggiori (n, n+4, n+7) triadi minori (n, n+3, n+7) secondo rivolto della triade maggiore, ossia quarta giusta e sesta maggiore (n, n+5, n+9). Come esercizio, si aggiungano altri modelli di accordo. Programmazione MIDI (Prof. Luca A. Ludovico) 24. Web MIDI API - Esempi
Esempio 3: esecuzione_melodia.html Questo esempio mostra come sfruttare il differimento nell’invio di messaggi per eseguire un’intera melodia. Problema: una volta lanciata l’esecuzione, non c’è modo di stopparla fino alla sua naturale conclusione (quando l’ultimo messaggio viene consumato). Soluzione: implementare la lettura della struttura dati attraverso un timer, anziché differire nel tempo l’invio di messaggi. Programmazione MIDI (Prof. Luca A. Ludovico) 24. Web MIDI API - Esempi
Esempio 4: catena.html Questo esempio mostra come collegare la pagina Web a una catena a monte che invia messaggi. Programmazione MIDI (Prof. Luca A. Ludovico) 24. Web MIDI API - Esempi