Lezione 10 Standard MIDI File Programmazione MIDI Prof
![Lezione 10 Standard MIDI File Programmazione MIDI (Prof. Luca A. Ludovico) Lezione 10 Standard MIDI File Programmazione MIDI (Prof. Luca A. Ludovico)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-1.jpg)
![Stato dell’arte ai primordi • Proliferazione di strumenti MIDI • Mancanza di un formato Stato dell’arte ai primordi • Proliferazione di strumenti MIDI • Mancanza di un formato](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-2.jpg)
![Obiettivi e definizioni • Obiettivo: memorizzare le sequenze per esportarle su altri sistemi o Obiettivi e definizioni • Obiettivo: memorizzare le sequenze per esportarle su altri sistemi o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-3.jpg)
![Sezione 10. 1 INTRODUZIONE AGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard Sezione 10. 1 INTRODUZIONE AGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-4.jpg)
![Gli Standard MIDI File (SMF) • Formato binario, con estensione di default. MID • Gli Standard MIDI File (SMF) • Formato binario, con estensione di default. MID •](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-5.jpg)
![Tipo 0, 1 e 2 • Tre tipi di SMF: – Tipo 0: unisce Tipo 0, 1 e 2 • Tre tipi di SMF: – Tipo 0: unisce](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-6.jpg)
![Tipo 0, 1 e 2 Battute e pulsazioni Programmazione MIDI (Prof. Luca A. Ludovico) Tipo 0, 1 e 2 Battute e pulsazioni Programmazione MIDI (Prof. Luca A. Ludovico)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-7.jpg)
![Differenze rispetto ai file audio • GM non è ideato come strumento creativo o Differenze rispetto ai file audio • GM non è ideato come strumento creativo o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-8.jpg)
![Occupazione di spazio • Esempio: Preludio e Fuga n. 1 di J. S. Bach Occupazione di spazio • Esempio: Preludio e Fuga n. 1 di J. S. Bach](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-9.jpg)
![Vantaggi e svantaggi • Sia SMF sia file in formati audio digitali (compressi o Vantaggi e svantaggi • Sia SMF sia file in formati audio digitali (compressi o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-10.jpg)
![Sezione 10. 2 STRUTTURA DEGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard Sezione 10. 2 STRUTTURA DEGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-11.jpg)
![Chunk • Chunk: strutture dati con una struttura comune • Intestazione dei chunk di Chunk • Chunk: strutture dati con una struttura comune • Intestazione dei chunk di](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-12.jpg)
![Formati strutturati a chunk • AIFF (Apple, 1988) • RIFF (Microsoft e IBM, 1991) Formati strutturati a chunk • AIFF (Apple, 1988) • RIFF (Microsoft e IBM, 1991)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-13.jpg)
![Tipi di chunk • Il formato SMF è basato su sequenze di chunk • Tipi di chunk • Il formato SMF è basato su sequenze di chunk •](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-14.jpg)
![Struttura generale di uno SMF • MThd <lunghezza dei dati dello header><dati dello header> Struttura generale di uno SMF • MThd <lunghezza dei dati dello header><dati dello header>](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-15.jpg)
![Prima struttura: MIDI Track header (MThd) chunk • MThd <lunghezza dei dati dello header><dati Prima struttura: MIDI Track header (MThd) chunk • MThd <lunghezza dei dati dello header><dati](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-16.jpg)
![Approfondimento sulla risoluzione • Gli ultimi 2 byte del chunk MThd, ossia tt tt Approfondimento sulla risoluzione • Gli ultimi 2 byte del chunk MThd, ossia tt tt](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-17.jpg)
![Esempi di risoluzione metrical-time • Si esprime come viene suddivisa la pulsazione da un Esempi di risoluzione metrical-time • Si esprime come viene suddivisa la pulsazione da un](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-18.jpg)
![Altre strutture: MIDI Track (MTrk) chunk • MTrk <lunghezza dei dati dello header><dati della Altre strutture: MIDI Track (MTrk) chunk • MTrk <lunghezza dei dati dello header><dati della](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-19.jpg)
![Tempo Delta • Fra ogni coppia di eventi in un chunk di traccia si Tempo Delta • Fra ogni coppia di eventi in un chunk di traccia si](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-20.jpg)
![Rappresentazione del Tempo Delta • T viene rappresentato in lunghezza variabile, ovvero utilizzando – Rappresentazione del Tempo Delta • T viene rappresentato in lunghezza variabile, ovvero utilizzando –](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-21.jpg)
![Esempio di rappresentazione in lungh. variabile Sia 128016 il valore da convertire in rappresentazione Esempio di rappresentazione in lungh. variabile Sia 128016 il valore da convertire in rappresentazione](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-22.jpg)
![Esercizi • Si esprimano in notazione a lunghezza variabile i seguenti numeri: – – Esercizi • Si esprimano in notazione a lunghezza variabile i seguenti numeri: – –](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-23.jpg)
![Osservazioni sul Tempo Delta • Se T = 0, gli eventi MIDI “separati” da Osservazioni sul Tempo Delta • Se T = 0, gli eventi MIDI “separati” da](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-24.jpg)
![Confronto tra scrittura musicale e MIDI In musica evento In MIDI evento T 1 Confronto tra scrittura musicale e MIDI In musica evento In MIDI evento T 1](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-25.jpg)
![Esercizi • Si mostri il chunk MThd per un file MIDI con le seguenti Esercizi • Si mostri il chunk MThd per un file MIDI con le seguenti](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-26.jpg)
![Soluzione • Chunk MThd 4 D 54 68 64 00 00 00 06 00 Soluzione • Chunk MThd 4 D 54 68 64 00 00 00 06 00](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-27.jpg)
![Durata in microsecondi di un tick • Come si trasforma un intervallo in tick Durata in microsecondi di un tick • Come si trasforma un intervallo in tick](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-28.jpg)
- Slides: 28
![Lezione 10 Standard MIDI File Programmazione MIDI Prof Luca A Ludovico Lezione 10 Standard MIDI File Programmazione MIDI (Prof. Luca A. Ludovico)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-1.jpg)
Lezione 10 Standard MIDI File Programmazione MIDI (Prof. Luca A. Ludovico)
![Stato dellarte ai primordi Proliferazione di strumenti MIDI Mancanza di un formato Stato dell’arte ai primordi • Proliferazione di strumenti MIDI • Mancanza di un formato](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-2.jpg)
Stato dell’arte ai primordi • Proliferazione di strumenti MIDI • Mancanza di un formato di file standard per lo scambio di MIDI songs • Ogni produttore di sequencer aveva sviluppato un proprio formato, legando di fatto gli utenti ai propri prodotti – Logica opposta a quella di uno standard di interoperabilità Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Obiettivi e definizioni Obiettivo memorizzare le sequenze per esportarle su altri sistemi o Obiettivi e definizioni • Obiettivo: memorizzare le sequenze per esportarle su altri sistemi o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-3.jpg)
Obiettivi e definizioni • Obiettivo: memorizzare le sequenze per esportarle su altri sistemi o distribuirle – – Tali file devono essere interpretabili da qualsiasi programma (es. : sequencer, media player, browser, ecc. ) o sistema supporti il formato I comandi MIDI ivi contenuti (Channel Voice, Channel Mode, System, ecc. ) devono essere correttamente decodificati e gestiti • Definizione: protocollo per il trasferimento di informazioni MIDI tra dispositivi differenti • Aggiunto alle specifiche nel 1988 Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Sezione 10 1 INTRODUZIONE AGLI SMF Programmazione MIDI Prof Luca A Ludovico 10 Standard Sezione 10. 1 INTRODUZIONE AGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-4.jpg)
Sezione 10. 1 INTRODUZIONE AGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Gli Standard MIDI File SMF Formato binario con estensione di default MID Gli Standard MIDI File (SMF) • Formato binario, con estensione di default. MID •](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-5.jpg)
Gli Standard MIDI File (SMF) • Formato binario, con estensione di default. MID • I file contengono una o più sequenze MIDI in cui ogni singolo dato è temporizzato • Possono memorizzare intere song, tracce, informazioni sul tempo metronomico, sul tempo musicale, stringhe di testo cantato e altre info di carattere descrittivo • Formato sufficientemente generico per essere leggibile da molti sistemi, ma flessibile per poter contenere informazioni proprietarie dei sequencer – Esempio: TXT vs DOC (vantaggi e svantaggi) Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Tipo 0 1 e 2 Tre tipi di SMF Tipo 0 unisce Tipo 0, 1 e 2 • Tre tipi di SMF: – Tipo 0: unisce](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-6.jpg)
Tipo 0, 1 e 2 • Tre tipi di SMF: – Tipo 0: unisce tutte le tracce e tutti i canali su un’unica traccia; le informazioni di tempo e le impostazioni di bpm sono contenute nella traccia stessa – Tipo 1: salva ogni parte (canale MIDI) su una traccia separata nella partitura, e salva le indicazioni di tempo e il bpm un’unica volta, solo sulla prima traccia; è possibile salvare un’unica song – Tipo 2: mantiene separate le tracce e consente di creare sezioni, permettendo di specificare per ciascuna traccia e sezione impostazioni di bpm e indicazioni di tempo diverse Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Tipo 0 1 e 2 Battute e pulsazioni Programmazione MIDI Prof Luca A Ludovico Tipo 0, 1 e 2 Battute e pulsazioni Programmazione MIDI (Prof. Luca A. Ludovico)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-7.jpg)
Tipo 0, 1 e 2 Battute e pulsazioni Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Differenze rispetto ai file audio GM non è ideato come strumento creativo o Differenze rispetto ai file audio • GM non è ideato come strumento creativo o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-8.jpg)
Differenze rispetto ai file audio • GM non è ideato come strumento creativo o espressivo, ma come modo per distribuire contenuti con caratteristiche di compatibilità tra sistemi diversi e livelli di qualità accettabili – Esempi: sonorizzazione delle pagine Web, applicaz. Karaoke • Gli SMF contengono messaggi MIDI e non audio digitale: – – contengono comandi per istruire moduli sonori nel produrre forme d’onda (diverse a seconda del modulo) non contengono forme d’onda • Spesso il MIDI è detto livello sub-simbolico di codifica della partitura, o livello di performance Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Occupazione di spazio Esempio Preludio e Fuga n 1 di J S Bach Occupazione di spazio • Esempio: Preludio e Fuga n. 1 di J. S. Bach](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-9.jpg)
Occupazione di spazio • Esempio: Preludio e Fuga n. 1 di J. S. Bach (3 min. ) – MIDI: 30 KB circa – WAV con qualità Audio CD: 30. 000 KB circa – MP 3 compresso a 128 kbps: 3. 000 KB circa • Queste considerazioni spiegano il successo (soprattutto nei primi tempi) in campi quali la sonorizzazione delle pagine Web e le suonerie polifoniche per cellulari Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Vantaggi e svantaggi Sia SMF sia file in formati audio digitali compressi o Vantaggi e svantaggi • Sia SMF sia file in formati audio digitali (compressi o](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-10.jpg)
Vantaggi e svantaggi • Sia SMF sia file in formati audio digitali (compressi o non compressi) sono leggibili dalla maggior parte dei computer • La descrizione musicale negli SMF è semanticamente vicina al livello simbolico di partitura, e dunque: – – molto compatta facilmente manipolabile con operatori tipicamente musicali, anche in modo puntuale o parte per parte • L’effetto audio di uno SMF non è prevedibile con precisione (dipende dal modulo sonoro) ed è legato alle limitate opzioni offerte dai timbri GM Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Sezione 10 2 STRUTTURA DEGLI SMF Programmazione MIDI Prof Luca A Ludovico 10 Standard Sezione 10. 2 STRUTTURA DEGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-11.jpg)
Sezione 10. 2 STRUTTURA DEGLI SMF Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Chunk Chunk strutture dati con una struttura comune Intestazione dei chunk di Chunk • Chunk: strutture dati con una struttura comune • Intestazione dei chunk di](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-12.jpg)
Chunk • Chunk: strutture dati con una struttura comune • Intestazione dei chunk di 8 byte: – – 4 byte (32 bit, 4 char ASCII) che definiscono il tipo di chunk 4 byte (32 bit, 1 longint [0. . 232 -1]) per esprimere la lunghezza in byte del chunk stesso (eclusi gli 8 byte di intestazione) Header (8 byte) Tipo Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File Lunghezza
![Formati strutturati a chunk AIFF Apple 1988 RIFF Microsoft e IBM 1991 Formati strutturati a chunk • AIFF (Apple, 1988) • RIFF (Microsoft e IBM, 1991)](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-13.jpg)
Formati strutturati a chunk • AIFF (Apple, 1988) • RIFF (Microsoft e IBM, 1991) Formati di interscambio di file • PNG - Portable Network Graphics (1996) Formato per le immagini raster • 3 DS Max File Formato proprietario per il salvataggio di oggetti 3 D Studio Max • … Piè di pagina: spazio libero per eventuale nome struttura o altro
![Tipi di chunk Il formato SMF è basato su sequenze di chunk Tipi di chunk • Il formato SMF è basato su sequenze di chunk •](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-14.jpg)
Tipi di chunk • Il formato SMF è basato su sequenze di chunk • I chunk hanno sempre una parte di intestazione o header (4+4 byte) seguita da una parte di dati (lunghezza variabile, ma definita in una sottoparte dell’intestazione) • Due tipi di chunk in MIDI: – – MIDI Track header (MThd) chunk, o blocco di intestazione di traccia MIDI Track (MTrk) chunk , o blocco di traccia MIDI • Struttura: 1 MThd seguito da [1. . n] MTrk Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Struttura generale di uno SMF MThd lunghezza dei dati dello headerdati dello header Struttura generale di uno SMF • MThd <lunghezza dei dati dello header><dati dello header>](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-15.jpg)
Struttura generale di uno SMF • MThd <lunghezza dei dati dello header><dati dello header> M T h d Lunghezza • MTrk <lunghezza dei dati della track> <dati della track> M T r k • … Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File Lunghezza
![Prima struttura MIDI Track header MThd chunk MThd lunghezza dei dati dello headerdati Prima struttura: MIDI Track header (MThd) chunk • MThd <lunghezza dei dati dello header><dati](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-16.jpg)
Prima struttura: MIDI Track header (MThd) chunk • MThd <lunghezza dei dati dello header><dati dello header> M T h d Lunghezza • Contenuto esadecimale del chunk 4 D 54 68 64 00 HEADER 00 00 06 00 0 x nn nn tt tt DATI (codice ASCII per MThd) (lunghezza pari a 6 byte) (tipo SMF) (tracce MTrk) (risoluz. ) • x = 0 SMF Type 0, x = 1 SMF Type 1, x = 2 SMF Type 2 • nn identifica il numero di tracce di tipo MTrk presenti • tt tt indica la risoluzione temporale (vedi slide successiva) Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Approfondimento sulla risoluzione Gli ultimi 2 byte del chunk MThd ossia tt tt Approfondimento sulla risoluzione • Gli ultimi 2 byte del chunk MThd, ossia tt tt](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-17.jpg)
Approfondimento sulla risoluzione • Gli ultimi 2 byte del chunk MThd, ossia tt tt nella slide precedente, definiscono la risoluzione temporale • Sono supportati 2 tipi di risoluzione: – – metrical time Se il bit 15 (il bit più significativo nella coppia di byte) è uguale a zero, i bit dal 14 allo 0 rappresentano il numero di tick in cui viene divisa una nota da un quarto. Questo valore è detto PPQN (Pulse per Quarter Note), ossia numero di impulsi (tick) per quarto time-code-based time Se il bit 15 è uguale a 1, si fa riferimento a come si suddivide il secondo come unità di tempo, in modo consistente con SMPTE e MIDI Time Code. I bit da 14 a 8 contengono i valori -24, -25, -29, -30 (espressi in complemento a due) che corrispondono agli standard SMPTE e MTC (con il -29 si identifica il formato 30 drop frame) e rappresentano il numero di frame per secondo. I bit da 7 a 0 (espressi normalmente) rappresentano la risoluzione all'interno di un frame. Ad esempio, 4 è la risoluzione del MIDI Time Code. Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Esempi di risoluzione metricaltime Si esprime come viene suddivisa la pulsazione da un Esempi di risoluzione metrical-time • Si esprime come viene suddivisa la pulsazione da un](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-18.jpg)
Esempi di risoluzione metrical-time • Si esprime come viene suddivisa la pulsazione da un quarto • Esempio: se tt tt = 0016 6016 = 9610 – – per rappresentare un intervallo temporale di un quarto fra due eventi successivi il numero dei tick n = 9610 per un intervallo di un ottavo n = 4810 • L’intervallo di tempo che separa due eventi è detto delta time (si vedano le slide successive) Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Altre strutture MIDI Track MTrk chunk MTrk lunghezza dei dati dello headerdati della Altre strutture: MIDI Track (MTrk) chunk • MTrk <lunghezza dei dati dello header><dati della](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-19.jpg)
Altre strutture: MIDI Track (MTrk) chunk • MTrk <lunghezza dei dati dello header><dati della track> M T rh dk Lunghezza • Contenuto esadecimale del chunk 4 D 54 72 6 B nn nn HEADER (codice ASCII per MTrk) (lunghezza variabile) ? ? ? ? DATI (eventi MIDI della traccia) • Dopo l’header, vengono descritti tutti gli eventi MIDI della traccia, in termini di coppie [delta time, event]: ogni evento viene temporizzato Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Tempo Delta Fra ogni coppia di eventi in un chunk di traccia si Tempo Delta • Fra ogni coppia di eventi in un chunk di traccia si](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-20.jpg)
Tempo Delta • Fra ogni coppia di eventi in un chunk di traccia si inserisce un tempo delta, o T • T rappresenta la durata in PPQN (pulse per quarter note) del lasso di tempo che intercorre tra un evento e quello immediatamente successivo • La sua risoluzione viene definita all’interno del chunk di intestazione (MThd chunk), ma i valori di T evento per evento sono scritti all’interno del chunk di traccia (MTrk chunk) Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Rappresentazione del Tempo Delta T viene rappresentato in lunghezza variabile ovvero utilizzando Rappresentazione del Tempo Delta • T viene rappresentato in lunghezza variabile, ovvero utilizzando –](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-21.jpg)
Rappresentazione del Tempo Delta • T viene rappresentato in lunghezza variabile, ovvero utilizzando – – un numero variabile di byte solo 7 bit per byte • Per la ricostruzione del valore complessivo, si usa una logica tipo MSB-LSB, ma con un numero grande a piacere di byte • Ogni byte nella rappresentazione a lunghezza variabile ha il bit più significativo posto ad un valore fissato, in modo da poterlo riconoscere. • Tutti i byte hanno il bit più significativo posto a 1 tranne l’ultimo, il quale ha il bit valorizzato a 0. Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Esempio di rappresentazione in lungh variabile Sia 128016 il valore da convertire in rappresentazione Esempio di rappresentazione in lungh. variabile Sia 128016 il valore da convertire in rappresentazione](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-22.jpg)
Esempio di rappresentazione in lungh. variabile Sia 128016 il valore da convertire in rappresentazione in lunghezza variabile 1. Si converte il numero in base 2, e si considera come un’unica stringa di bit 2. Partendo da destra (cifre meno significative) si compongono blocchi di 7 bit, ricordando che: 1. 2. gli 0 in posizione più significativa si possono scartare (non ha senso un primo blocco di tutti 0); Per completare il blocco da 7 bit più significativo, è possibile riempire con 0 a sinistra 3. Si porta la dimensione dei blocchi da 7 a 8 bit anteponendo 1 a ogni blocco, tranne che all’ultimo 4. Si converte la rappresentazione in base 16 Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File 00010010 10000000 1001010000000 01001010000000 10100101 0000 A 5 00
![Esercizi Si esprimano in notazione a lunghezza variabile i seguenti numeri Esercizi • Si esprimano in notazione a lunghezza variabile i seguenti numeri: – –](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-23.jpg)
Esercizi • Si esprimano in notazione a lunghezza variabile i seguenti numeri: – – – 1011010112 10001111 011000002 2710 7210 3 A 16 10 F 16 Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Osservazioni sul Tempo Delta Se T 0 gli eventi MIDI separati da Osservazioni sul Tempo Delta • Se T = 0, gli eventi MIDI “separati” da](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-24.jpg)
Osservazioni sul Tempo Delta • Se T = 0, gli eventi MIDI “separati” da T occorrono simultaneamente • Esempio: 9016 3 C 16 4016 0016 9016 4016 ossia: Note. On [Ch 1, Do 4, Vel 64] 0016 Note. On [Ch 1, Mi 4, Vel 64] crea un accordo Do 4 – Mi 4 simultaneo • Attenzione: T separa generici eventi MIDI. Quando T permette di calcolare la durata di una nota? In un caso molto particolare: se la coppia di eventi separata da T è Note. On – Note. Off (senza altri eventi in mezzo), e i due messaggi sono relativi allo stesso canale e allo stesso pitch, Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Confronto tra scrittura musicale e MIDI In musica evento In MIDI evento T 1 Confronto tra scrittura musicale e MIDI In musica evento In MIDI evento T 1](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-25.jpg)
Confronto tra scrittura musicale e MIDI In musica evento In MIDI evento T 1 Note. On Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File T 2 T 4 T 3 Note. Off/Note On t Note. Off/Note. On
![Esercizi Si mostri il chunk MThd per un file MIDI con le seguenti Esercizi • Si mostri il chunk MThd per un file MIDI con le seguenti](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-26.jpg)
Esercizi • Si mostri il chunk MThd per un file MIDI con le seguenti caratteristiche: – Tipo 0 – [Un’unica traccia] – Risoluzione temporale metrical-time di 128 PPQN • Si mostri un esempio di chunk MTrk corrispondente all’MThd sopra definito per la seguente situazione: – Un evento Note On seguito da un evento Note Off per una nota La dell’ottava centrale di durata una metà sul canale 8 con velocity 99 Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Soluzione Chunk MThd 4 D 54 68 64 00 00 00 06 00 Soluzione • Chunk MThd 4 D 54 68 64 00 00 00 06 00](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-27.jpg)
Soluzione • Chunk MThd 4 D 54 68 64 00 00 00 06 00 00 00 01 00 80 – Tipo 0 – Un’unica traccia – Risoluzione temporale metrical-time di 128 PPQN • Chunk MTrk (incompleto) 4 D 54 72 6 B ? ? ? ? … 97 45 63 82 00 87 45 63 … – – Note On (10012 = 916) sul canale 8 (01112 = 716) Note Off (10002 = 816) sul canale 8 (01112 = 716) Pitch 6910 = 4516 Velocity 9910 = 6316 Rappresentazione del T: 25610 = 100002 (1)00000102 (0)00000002 = 8216 0016 Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File
![Durata in microsecondi di un tick Come si trasforma un intervallo in tick Durata in microsecondi di un tick • Come si trasforma un intervallo in tick](https://slidetodoc.com/presentation_image_h/172ceecf7430dcbd7e35cec0acfcd9ab/image-28.jpg)
Durata in microsecondi di un tick • Come si trasforma un intervallo in tick in un intervallo in secondi o sottomultipli? Per passare a valori in unità di tempo assolute è necessario conoscere il BPM della song. • Sia b il valore di BPM (numero di pulsazioni al minuto), e p il valore di PPQN (risoluzione in tick per pulsazione da un quarto). Si voglia calcolare d, durata in millisecondi del tick. Ricordiamo che: – – b rappresenta quante pulsazioni si trovano in 1 minuto = 60000 ms (b · p) rappresenta quanti tick si trovano in 60000 ms • Durata in millisecondi d = 60000 / (b · p) ; in secondi d = 60 / (b · p) • Esempi: – – per BPM = 60, PPQN = 20 d = 0. 05 s per BPM = 120, PPQN = 25 d = 0. 02 s Programmazione MIDI (Prof. Luca A. Ludovico) 10. Standard MIDI File (1 quarto dura 0. 05 · 20 = 1 s) (1 quarto dura 0. 02 · 25 = 0. 5 s)
Programmazione midi
Programmazione midi
File-file yang dibuat oleh user pada jenis file di linux
What does midi stand for? *
Esempio di lezione clil diritto
L esperienza delle cose moderne e la lezione delle antique
Fasi di una lezione simulata
Esempio pratico di jigsaw
Lezione masculine or feminine
Lezione 7
Sostenibilit
La lezione della farfalla libro
L'esperienza delle cose moderne e la lezione delle antique
Physical image vs logical image
File sharing management system
Distributed file system
What does a markup tag tells the web browser
In a file-oriented information system, a transaction file
Oxford midi hoist dimensions
Midi signals are digitized audio samples points
Draaiorgel midi files
Midi channel voice messages
Rtp midi
Aula de escatologia
Pic du midi d'ossau mariano
General midi map
Midi vs digital audio
Steve reich midi files
Bandtrax