Modelli di riconoscimento automatico dellinterpretazione musicale a partire
- Slides: 21
Modelli di riconoscimento automatico dell’interpretazione musicale a partire dal MIDI Tesi di Laurea in Informatica di Rosario Squillante Relatore: prof. Goffredo Haus Correlatore: dott. Ing. Luca Andrea Ludovico a. a. 2006/07
3 livelli per la musica • • 1) livello fisico 2) livello strutturale (MIDI) – Eventi sonori • 3) livello notazionale
3 livelli per la musica • • 1) livello fisico 2) livello strutturale (MIDI) – Eventi sonori • 3) livello notazionale
Problematica • Passare dal livello 1 al livello 3 possibile per segnali semplici* • Passare dal livello 2 al livello 3 obiettivo del nostro lavoro *Manuel Davy, Simon J. Godsill and J´erˆome Idier “Bayesian Analysis of Western Tonal Music”, Journal of the Acoustical Society of America (JASA), Volume 119, Number 4, pp. 2498 -2517, April 2006.
Problematica (2) • Generale (ottenere informazioni interpretabili partendo da informazioni univoche) • Specifica (ottenere informazioni musicali partendo da informazioni MIDI)
MIDI vs Notazione musicale • I messaggi MIDI identificano univocamente cosa e come suonare e per quanto tempo • La notazione musicale, pur nella sua ricchezza e rigorosità, da origine ad illimitate diverse esecuzioni
MIDI vs Notazione musicale Altri problemi del MIDI rispetto alla notazione – Ambiguità – Limiti numerici – Mancanze di alcune informazioni
Metodologia Funzioni dell’applicazione scritta in C++. NET con MFC e con namespace STD File MIDI Modello interpretativo Struttura dati Partitura In XML Parser
L’Output MX L’MX è una grammatica di XML studiata per descrivere in maniera esauriente un brano musicale. Layer di MX 1. 2. 3. 4. 5. 6. general music logic a. spine b. los (logically organized symbols) c. layout structural notation performance audio <!DOCTYPE mx SYSTEM “mx. dtd"> <mx> <general> … </general> <logic> <spine> … </spine> <los> PUNTO DI INSERIMENTO DELLA PARTITURA </los> </logic> … </mx>
L’Output MX Sub-Layer los • descrive gli oggetti in partitura Sub-Layer spine • contiene la funzione di mappatura spaziotemporale
La struttura dati • Programmazione modulare – Tante classi quanti sono gli elementi e layer di MX • Al loro interno le strutture adatte al singolo caso • Stampa su file del relativo elemento
La struttura dati MXMaintitle. h class CMXMovement_title { CString movement_title; MXEvent. h class CMXEvent { CString id; unsigned long start; int timing, hpos; MXSpine. h class CMXSpine { vector <CMXEvent*> m_Events;
La struttura dati MXPart. h #include "MXMeasure. h" #include "MXVoice_list. h" #include "MXStaff_id. h“ typedef map <long, class CMXMeasure*> MEASURE_ID_MAP; class CMXPart { CString id; class CMXVoice_list m_voice_list; vector <CMXMeasure*> m_measure; MEASURE_ID_MAP map_measure; CMXStaff_id* staff_ref;
Il modello interpretativo hex Status byte Data bytes 80 Chan 1 Note Off Note number (0 -127) Note Velocity (0 -127) 90 Chan 1 Note On “ “ C 0 Chan 1 Program Change Patch (0 -127) N/a F 2 Song Position Pointer LSB MSB Delta time 00 00 60 60 C 1 91 90 05 2 E 43 40 4 C 20 Program Change Note On
Il modello interpretativo la traduzione in tre passaggi 1. Inserimento diretto dei dati MIDI, opportunamente interpretati (note, battute ecc. ) 2. Visitiamo l’albero in profondità per verificare ed inserire i dati mancanti o errati seguendo le regole della teoria musicale (pause, battute vuote, segnature, legature ecc. ) 3. Ordinamento spazio temporale degli eventi
Il modello interpretativo • Elementi della notazione musicale ottenuti – Accollature e pentagrammi – Note, alterazioni, pause – Segnature – Battute – Durate – Dinamica* – Cambi segnatura* – Legature di valore
L’applicazione MIDI 2 MX
L’applicazione MIDI 2 MX
Esempio 1 – Chopin preludi n° 2 e n° 20, op. 28
Esempio 2 – Beethoven fur Elise
Conclusioni e sviluppi Una ricerca in continua evoluzione • Risultati ottenuti – Scrittura di file MX automatica, sfruttando l’archivio MIDI – Un modello interpretativo valido – Un codice modulare e dalle buone prestazioni • Sviluppi e miglioramenti – Aggiunta o modifica del parser MIDI – Completamento ed eventuale miglioramento del modello interpretativo – Evoluzione dell’MX – Layout grafico con SVG o con altre librerie
- Futuro semplice partire
- Riconoscimento degli oggetti
- Cla unipd
- La fattorizzazione dei polinomi
- Notazione musicale
- Disegno di pierino e il lupo
- Liceo classico zucchi
- Indirizzo musicale
- Musica tipica russa
- Trasposizione musicale automatica
- Pierino e il lupo musica scuola primaria
- Romanticismo in musica
- Liceo scienze umane rodari
- Liceo montanari
- Michele della ventura
- Liceo musicale belvedere
- Programmi scrittura musicale
- Fontaine musicale lumineuse
- Schema ladder avviamento stella triangolo
- Parafraseo automatico
- Senior epersonam
- Control automatico