Messaggi Channel Mode Lezione 5

Slides:



Advertisements
Presentazioni simili
Concetti fondamentali
Advertisements

Messaggi Control Change
Messaggi Channel Voice
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Università degli Studi - “ G. d'Annunzio ” Chieti - Pescara FACOLTÀ DI ECONOMIA Corso di laurea in Economia Informatica/s Seminario di: Giovanni Placentino.
Bitcoin “What is a Bitcoin?”. What is a Bitcoin? Bitcoin The 4th most common research on Google in 2014.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Basi di dati - Fondamenti
Creare e modificare suoni
IL SOFTWARE (FPwin 6.0).
Un sistema di controllo è un apparato che consente di variare o mantenere costante la grandezza d'uscita, in relazione ad una evoluzione temporale, SU.
Protocollo di trasmissione tramite tecnologia Barryvox
TECNICA E PROGRAMMAZIONE
Sale Force Automation.
Sistema di Autenticazione unica (Single-Sign-On) (azione #8)
Il Sistema Operativo Gestione dei Processi
GPIO: General Purpose Input Output I parte
Applicazione web basata su web service e web socket
Sale Force Automation.
Dispositivi MIDI in Java
Microcontrollori e microprocessori
The FOOT Calorimeter No TOF, high density and good energy resolution -> BGO TOF asks for 1.2 m lever arm -> R = 20 cm with 100 angular aperture of the.
Trasmettitori e ricevitori
Il Binding Nicolò Sordoni.
Editing digitale della partitura Creazione di plugin
P. L. C. (Programmable Logic Controller)
Web MIDI API - Esempi Lezione 24
Sistema di controllo ON – OFF (1)
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
analizzatore di protocollo
MODULO 1 – Computer essentials
TEOREMA DI BAYES: ESEMPI
Introduzione L’8254 è un interval timer event/counter, progettato per risolvere i problemi del controllo del timing, comuni ad ogni microcomputer. E’ costituito.
A/D seconda parte.
[Nome progetto] Relazione finale
Basi di dati - Fondamenti
Programmare.
Realizziamo un fumetto
Come utilizzare gli video ed il Rapporto contatti
Posta Elettronica Certificata
Gli automi.
Messaggi Control Change
Comunicare il servizio
[Nome progetto] Relazione finale
Comunicare il servizio
Lettura di input MIDI da Web MIDI API
Esercitazioni corso di RETI
Scambio dati integrazione Specifiche DATEX II
Standard MIDI File: eventi MTrk
Lezione 7 Laboratorio 1 Programmazione MIDI (Prof. Luca A. Ludovico)
Messaggi System Exclusive
Codici rilevatori di errori
Sincronizzazione Lezione 6
Definizione di linguaggio di programmazione
Web MIDI API - Esempi Lezione 17
Messaggi System Common e System Real Time
Standard MIDI File Lezione 10
Esercitazione sulle modalità
Esercitazione su SMF Lezione 12
Esercizi sulla Web MIDI API
Collegamento di input e output tramite Web MIDI API
Laboratorio II, modulo “Skype”.
WebSocket Symphony Orchestra
Uno step sequencer Lezione 18
TEMPI? Dalle 08:00 del 16 gennaio alle 20:00 del 06 febbraio 2017;
Algoritmi.
Nuovo quadro di controllo e comando per Maestro ed Ocean
Il nuovo sistema di controllo per aerotermi con motore elettronico
Transcript della presentazione:

Messaggi Channel Mode Lezione 5 Programmazione MIDI (Prof. Luca A. Ludovico)

Categorie di funzioni MIDI Channel Voice Messages Eventi MIDI essenziali per la performance musicale (es.: Note On, Note Off) Channel Mode Messages Comunicano ai dispositivi il modo di inviare o ricevere informazioni (es.: spegnimento di tutte le note) System Common Messages Messaggi comuni a tutti i dispositivi HW/SW della configurazione MIDI (es.: riferimento al MIDI Time Code, accordatura) System Real Time Messages Messaggi in tempo reale (es.: start e stop) System Exclusive Messages Impostazioni specifiche per il dispositivo (es.: trasferimento campioni) Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Collocazione logica dei messaggi Control Change Messaggi MIDI Channel Voice Messages Note On Note Off … Channel Mode Messages Control Change Control Change 0 Control Change 119 Control Change 120 Control Change 127 System Common Messages System Real Time Messages System Exclusive Messages Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Control Change

Messaggi Control Change Insieme di 128 eventi o azioni trasmessi attraverso il MIDI. Ciascun evento viene identificato da un proprio numero. Il Byte di stato identifica un messaggio Control Change tramite la combinazione 1011cccc2 = [176..191]10 Il messaggio è formato poi da 2 Byte di dati I Byte di dati: Control Change da eseguire II Byte di dati: valore per il Control Change selezionato MIDI Out o MIDI Thru II Byte di dati Val. di controllo [0..127]10 I Byte di dati Val. di controllo [0..127]10 Byte di stato Control Change 1011cccc2 MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Forzano i modi in cui i messaggi MIDI vengono ricevuti e trasmessi Messaggi Channel Mode Forzano i modi in cui i messaggi MIDI vengono ricevuti e trasmessi Si tratta di casi particolari di evento Control Change Per indicare il modo specifico, si utilizza il I Byte di dati Il II Byte di dati normalmente assume il valore predefinito 0, però esistono alcune varianti MIDI Out o MIDI Thru II Byte di dati 000000002 ? I Byte di dati Specificatore [124..127]10 Byte di stato Control Change 1011cccc2 MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Il canale base (Base Channel) Ogni dispositivo MIDI ha (almeno) un canale base nell’intervallo [1..16] che l’utente di solito può impostare manualmente Sul canale base possono essere trasmessi/ricevuti anche messaggi di tipo Channel Voice I messaggi Control Change relativi a un canale N vengono ascoltati da tutti e soli i dispositivi che hanno N come canale base Questo anche nel caso il dispositivo sia impostato per ricevere i messaggi Channel Voice pure da tutti i 16 canali Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Modalità Omni On vs. Omni Off Omni Off Il dispositivo risponde a messaggi Channel Voice su un numero limitato di canali, solitamente 1. Esempio: se il canale base di un dispositivo è posto a 1, e giunge un messaggio Channel Voice sul canale 2, il dispositivo lo ignora. Omni On Il dispositivo riceve messaggi su tutti i 16 canali MIDI. Osservazione: più semplice da utilizzare in una configurazione semplice (quale controller + modulo sonoro), però poco appropriato a configurazioni daisy-chain complesse. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Esempio Omni On/Off Sequencer Synth A (Base Ch.: 1) Omni Off Synth B Sintesi dei msg Channel Voice sul Channel 1 Sintesi dei msg Channel Voice sul Channel 2 Sintesi dei msg Channel Voice sui Channel 1, 2, 5 e 7 MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru MIDI In Msg Channel Voice sui Channel 1, 2, 5 e 7 Sequencer Synth A (Base Ch.: 1) Omni Off Synth B (Base Ch.: 2) Omni Off Synth C (Base Ch.: 7) Omni On Per cambiare in Omni On l’impostazione di Synth B, si dovrà inviare un messaggio Control Change così costruito: (1)011 0001 (0)1111101 (0)0000000 Control Change su Ch. 2 Omni Mode On Valore di default che cambierebbe il modo anche per gli altri dispositivi con canale base 2. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Messaggi MIDI Omni On/Off Omni Mode Off Omni Mode On MIDI Out o MIDI Thru II Byte di dati 000000002 I Byte di dati Modo 011111002 Byte di stato Control Change 1011cccc2 MIDI In MIDI Out o MIDI Thru II Byte di dati 000000002 I Byte di dati Modo 011111012 Byte di stato Control Change 1011cccc2 MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Omni On e Omni Off con strumenti multitimbrici Strumento multitimbrico: può ascoltare e riprodurre messaggi inviati sui tutti i 16 canali MIDI simultaneamente, impostando uno strumento o una patch differente per ciascuno. L’utente può scegliere quali canali far ascoltare e quali no. Non è necessario sfruttare tutti i 16 canali. Si usa il modo Omni On? No: lo strumento appare come l’unione di 16 moduli sonori distinti (detti parti). Ogni parte è in modalità Omni Off. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Modalità Poly vs. Mono Poly Il dispositivo può rispondere a più di un evento Note On “simultaneo” su un dato canale. Quindi ammette accordi e polifonie su un dato canale. Mono Il dispositivo non risponde a più di un evento Note On “simultaneo” su un dato canale. Quindi ammette linee melodiche, e non accordi su un dato canale. Osservazioni: Su canali distinti? Cosa si intende per “simultaneo”? Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Esempi in modalità Poly e Mono Poly Sul canale x giunge un Note On relativo a C4, poi un Note On relativo a G4. Viene eseguito l’accordo. Mono Sul canale x giunge un Note On relativo a C4, poi un Note On relativo a G4. Alla ricezione di G4, viene automaticamente spento C4 (messaggio Note Off). Utilità del modo Mono: simulare strumenti tipicamente monodici, quali la maggior parte dei fiati. Alle volte, la transizione viene gestita in modo intelligente. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Messaggi MIDI Omni On/Off Mono Mode On (Poly Mode Off) Mono Mode Off (Poly Mode On) MIDI Out o MIDI Thru II Byte di dati Se Omni On: 000000002 Se Omni Off: 0nnnnnnn2 con nnnnnnn codifica binaria del num di canali I Byte di dati Modo 011111102 Byte di stato Control Change 1011cccc2 MIDI In MIDI Out o MIDI Thru II Byte di dati 000000002 I Byte di dati Modo 011111112 Byte di stato Control Change 1011cccc2 MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Mode 1 (Omni On, Poly) Ricezione polifonica su tutti i 16 canali MIDI I quattro modi: Mode 1 Poly Mono Omni On 1 2 Omni Off 3 4 Mode 1 (Omni On, Poly) Ricezione polifonica su tutti i 16 canali MIDI Il dispositivo: in ingresso gestisce i dati MIDI su tutti i canali, indipendentemente dal proprio canale base N in uscita convoglia tutti i messaggi sul proprio canale base N Il dispositivo gestisce la polifonia sul singolo canale Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: ricezione in Mode 1  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Poly Mono Omni On 1 2 Omni Off 3 4 Voice messages are received from all Voice Channels, and assigned to voices polyphonically. 1 k Dispositivo in grado di gestire polifonia a k voci … Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: Mode 1 Poly Mono Omni On 1 2 Omni Off 3 4 Modalità usata raramente, in quanto “miscela” i messaggi provenienti da tutti i canali, perdendo dunque i riferimenti ai differenti canali Applicabile in un sistema MIDI molto semplice (ad es. un master ed uno slave) Esempio Sequencer con msg Channel Voice sui canali 1 e 2 che pilota un modulo sonoro monotimbrico polifonico a 16 voci. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Mode 2 (Omni On, Mono) Ricezione monofonica su tutti i 16 canali MIDI I quattro modi: Mode 2 Poly Mono Omni On 1 2 Omni Off 3 4 Mode 2 (Omni On, Mono) Ricezione monofonica su tutti i 16 canali MIDI Il dispositivo: in ingresso riceve messaggi MIDI da tutti i canali, controllando solo una voce monofonicamente in uscita i messaggi Voice di una voce vengono inviati sul canale base N Il dispositivo non gestisce la polifonia sul singolo canale. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: ricezione in Mode 2  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Poly Mono Omni On 1 2 Omni Off 3 4 Voice messages are received from all Voice Channels, and control only one voice, monophonically. 1 Dispositivo in grado di gestire una sola voce (sul canale base N) Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: Mode 2 Poly Mono Omni On 1 2 Omni Off 3 4 Modalità implementata raramente, in quanto suonare una nota alla volta tra gli eventi che arrivano sui 16 canali può essere poco sensato. Esempio Collegamento di più controller monofonici (ciascuno su un canale differente) orientati alla sintesi di uno stesso strumento ad un sintetizzatore monofonico e monotimbrico. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Mode 3 (Omni Off, Poly) Ricezione polifonica su specifico canale MIDI I quattro modi: Mode 3 Poly Mono Omni On 1 2 Omni Off 3 4 Mode 3 (Omni Off, Poly) Ricezione polifonica su specifico canale MIDI Il dispositivo: in ingresso gestisce solo i dati MIDI in ingresso destinati al proprio canale base N in uscita convoglia tali messaggi sul proprio canale base N Il dispositivo gestisce la polifonia sul singolo canale. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: ricezione in Mode 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Poly Mono Omni On 1 2 Omni Off 3 4 Voice messages are received in Voice Channel N only, and are assigned to voices polyphonically. 1 k Dispositivo in grado di gestire polifonia a k voci … Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: Mode 3 Poly Mono Omni On 1 2 Omni Off 3 4 Modalità maggiormente usata. E’ l’impostazione migliore per un sistema MIDI complesso, in quanto permette di assegnare i canali MIDI in ricezione e trasmissione. Esempio Controller a tastiera che pilota un sintetizzatore (polifonico) dedicato presente nella catena. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Mode 4 (Omni Off, Mono) Ricezione monofonica su specifico canale MIDI I quattro modi: Mode 4 Poly Mono Omni On 1 2 Omni Off 3 4 Mode 4 (Omni Off, Mono) Ricezione monofonica su specifico canale MIDI Il dispositivo: in ingresso gestisce i dati MIDI in ingresso destinati al proprio canale base N in uscita convoglia tali messaggi sul proprio canale base N Il dispositivo non gestisce la polifonia su tale canale. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: ricezione in Mode 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Poly Mono Omni On 1 2 Omni Off 3 4 Voice messages are received in Voice Channel N only, and control only one voice, monophonically. 1 Dispositivo in grado di gestire una sola voce (sul canale base N) Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I quattro modi: Mode 4 Poly Mono Omni On 1 2 Omni Off 3 4 Modalità utile per il collegamento di sintetizzatori per strumenti monofonici, quali la maggior parte dei fiati. Esempio Controller a fiato che pilota un sintetizzatore monofonico dedicato presente nella catena. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

I 4 messaggi implicano anche All Notes Off. Osservazioni I 4 messaggi implicano anche All Notes Off. Non tutti i dispositivi gestiscono i 4 modi previsti dalle specifiche MIDI. Essi dovrebbero: ignorare i messaggi Channel Mode (pure se inviati al proprio canale base) che li portano nello stato non supportato, oppure… …portarsi nello stato più prossimo a quello richiesto Dispositivi che possono sia ricevere che trasmettere messaggi MIDI (ad es. tastiere con funzioni di sintesi) devono consentire impostazioni differenti su ingresso e uscita per quanto concerne il canale base e il modo MIDI Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Altri modi: MultiTimbral (o Multi-, o Super-) Mode Usato nei dispositivi multitimbrici, ad esempio nei moduli sonori multitimbrici. Evoluzione del Modo 3 (Omni Off / Poly): consente al dispositivo di rispondere simultaneamente e indipendentemente a diversi canali MIDI polifonici. Gestione delle voci disponibili: solitamente allocazione dinamica delle risorse a fini di ottimizzazione. Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Altri modi: Mono Mode Reinterpretazione del Modo 4: consente l’uso simultaneo di più canali Omni Off/Mono In ingresso, si ricevono messaggi MIDI sui canali [N..N+M-1], che vengono assegnati monofonicamente alle voci [1..M]. Il numero di voci da ricevere viene specificato tramite il 3°byte del messaggio Mono Mode In uscita, i messaggi delle voci [1..M] vengono trasmessi, monofonicamente e una voce per canale, sui canali [N..N+M-1] Esempio: chitarre MIDI (un canale per ciascuna corda del controller consente un tracking migliore delle note, pitch bend indipendenti, e un timbro o patch diversa per canale) Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Altri modi: Mono Mode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Voice messages are received in Voice Channels N through N+M-1, and assigned monophonically to voices 1 through M, respectively. The number of voices M is specified by the third byte of the Mono Mode Message. Es.: per le corde di una chitarra N = 2, M = 6 1 6 … Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Esercizio Si consideri una catena MIDI di dispositivi collegati in daisy-chain, nel seguente ordine: Controller chitarra MIDI, denominato C1, collegato a una patchbay PB Controller con 2 tastiere indipendenti (organo elettronico) e senza funzioni di sintesi, denominato C2, collegato alla patchbay PB; Modulo sonoro per la sintesi della prima tastiera, denominato S1; Modulo sonoro per la sintesi della seconda tastiera, denominato S2; Modulo sonoro per la sintesi monotimbrica di tutti gli eventi, denominato S3; Si determini il modo operativo più opportuno per ciascun dispositivo. C2 MIDI Out MIDI In C1 PB S1 S2 S3 MIDI Out MIDI In MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Soluzione C1 (monofonia su 6 canali indipendenti): 6 dispositivi in Modo 4 (Mono) C2 (polifonia su canali indipendenti): 2 dispositivi in Modo 3 S1, S2 (polifonia sul proprio canale): entrambi i dispositivi in Modo 3 S3 (polifonia da vari canali sul canale base): dispositivo in Modo 1 C2 MIDI Out MIDI In C1 PB S1 S2 S3 MIDI Out MIDI In MIDI Out MIDI In MIDI Thru MIDI In MIDI Thru MIDI In Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode

Approfondimenti http://www.midi.org/techspecs/midimessages.php http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec/modes.htm http://www.philrees.co.uk/articles/midimode.htm http://www.xs4all.nl/~hensing/midi_specs/midi_specs.html Programmazione MIDI (Prof. Luca A. Ludovico) 5. Messaggi Channel Mode