1 / 64

Reti di Petri Musicali

Reti di Petri Musicali. Adriano Baratè adriano.barate@unimi.it http://www.lim.dico.unimi.it/didatt/materiali/pns.ppt. Scopi. Definire uno strumento di rappresentazione delle strutture musicali, ad un livello più astratto della notazione

mikaia
Télécharger la présentation

Reti di Petri Musicali

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.ithttp://www.lim.dico.unimi.it/didatt/materiali/pns.ppt

  2. Scopi • Definire uno strumento di rappresentazione delle strutture musicali, ad un livello più astratto della notazione • Utilizzare la definizione di generico Oggetto Musicale (Music Object - MO)

  3. Scopi • Utilizzare un formalismo che presenti le seguenti caratteristiche: • Affinità con il modo di ragionare del compositore • Supporto di diversi livelli di rappresentazione dell’informazione musicale • Meccanismi di morfismo tra i vari livelli di rappresentazione • Strutture di elaborazione concorrente • Operatori per elaborare e trasformare le entità musicali • Alta flessibilità

  4. Reti di Petri: Introduzione • Una Rete di Petri (Petri Net – PN)è un modello astratto e formaleatto a rappresentare la dinamica di un sistema che esibisce attività asincrone e concorrenti • Utilizzando questo modello è possibile: • rappresentare la struttura musicale di un brano esistente (strumento per l’analisi) • creare brani lavorando ad un livello di astrazione più alto della notazione o del segnale (strumento per la sintesi)

  5. Caratteristiche • Le Reti di Petri Musicali introdotte di seguito presentano le seguenti caratteristiche: • Uso di pochi simboli • Rappresentazione grafica • Descrizione di gerarchie • Descrizione di algoritmi applicabili a MOs • Gestione della temporizzazione • Possibilità di strutture deterministiche / non-deterministiche • Gestione di macro per strutture comuni • Sintesi della musica descritta

  6. Oggetti Musicali (Music Objects – MOs) • Un oggetto musicale è una qualsiasi entità con una valenza musicale; ad esempio: • Un frammento di partitura • Un frammento audio • Un comando di controllo di un’apparecchiatura di sintesi • Una specifica di parametri musicali (tempo, volume…)

  7. Oggetti Musicali (Music Objects – MOs) • Nei primi anni ’80 i MOs erano descritti attraverso lo standard MIDI • Dal 2004 si è esteso il modello attraverso l’utilizzo dell’MX

  8. Reti di Petri (Petri Nets – PNs) – Definizione formale Una PN è una tripla: PN = (P, T, A) dove P è detto insieme dei posti, T è detto insieme delle transizioni ed A è detto insieme degli archi. Inoltre devono valere le proprietà: 1. P  T =  2. P  T  3. A  (P  T)  (T  P) 4. dom(A)  ran(A) = P  T, dove • dom(A) = {x P  T : (x,y)  A per qualche y P  T} • ran(A) = {y P  T : (x,y)  A per qualche x P  T}

  9. Reti di Petri: concetti fondamentali Transizioni Posti Archi Marche (Tokens) Pesi degli archi

  10. Regole formali 1. P  T =  • Un nodo non può essere contemporaneamente di tipo posto e di tipo transizione 2. P  T  • In una PN ci deve essere almeno un posto o una transizione

  11. Regole formali 3. A  (P  T)  (T  P) • Possono essere collegati fra loro solo nodi di tipo diverso

  12. Regole formali 4. dom(A)  ran(A) = P  T, dove dom(A) = {x P  T : (x,y)  A per qualche y P  T} ran(A) = {y P  T : (x,y)  A per qualche x P  T} dom(A): dominio degli archi ran(A): codominio (range) degli archi • In una PN non possono esistere nodi isolati

  13. Esecuzione di una PN • Una PN non è statica, ma può mutare le sue caratteristiche quando viene eseguita • Partenza dell’esecuzione: stato iniziale • Esecuzione: sequenza di scatti che mutano lo stato della rete • Termine dell’esecuzione: assenza di possibilità di scatto

  14. Regole di scatto • Se tutti i posti di ingresso di una transizione hanno un numero di marche maggiore o uguale al peso dei rispettivi archi in ingresso, la transizione si dice abilitata allo scatto. • Se una transizione è abilitata allo scatto, l’esecuzione dello scatto toglierà dai posti in ingresso un numero di marche pari al peso dell’arco in ingresso ed aggiungerà ad ogni posto in uscita tante marche quanto è il peso dell’arco in uscita.

  15. Situazione non deterministica 1: alternativa Sia T1 che T2 sono abilitate allo scatto perché possono ricevere la marca in ingresso, disponibile in P1; lo scatto di una transizione toglierà però da P1 la marca, inibendo lo scatto dell’altra. In questo caso si verifica una situazione non deterministica: non è possibile predire quale transizione scatterà e ad ogni esecuzione questa scelta potrà essere diversa. Le transizioni si dicono in alternativa.

  16. Esempi a) e) b) c) f) d) 2 1 0 2 0 2 1 2 2 1 2 0 2 2 1 0 3

  17. Esempi g) i) h) 0 1 0 2 0 1 0 2 2 1

  18. Estensione: capacità Il numero in basso all’interno di un posto indica il numero massimo di marche che possono essere ospitate ed è detto capacità del posto Questa caratteristica modifica anche la regola di scatto delle transizioni, che sono abilitate solo quando il loro scatto non trasferirebbe nei posti di uscita un numero di marche maggiore delle rispettive capacità 1 5 Esempio di transizione non abilitata a causa della capacità del posto in uscita: 1 2 2 4 3

  19. Situazione non deterministica 2: conflitto L’aggiunta della capacità nei posti crea un nuovo tipo di situazione non deterministica: più transizioni si dicono inconflitto quando lo scatto di tutte porterebbe in un posto un numero di marche maggiore della sua capacità

  20. Esempi a) c) b) 2 2 2 2 1 1 0 2 2 2 0 3 1 1 0 2 2 2 2 2 2 2

  21. Estensione: raffinamenti • Il raffinamento è un tipo elementare di morfismo usato per scomporre reti complesse in più reti semplificate • Una sottorete descrive un nodo padre Nella sottorete devono sempre essere presenti i nodi di input e di output

  22. Estensione: peso probabilistico • In situazioni di alternativa e/o conflitto, la scelta tra le transizioni può essere condizionata dal peso probabilistico associato agli archi, un numero ≥ 0 (di default = 1) indicato fra parentesi quadre • Probabilità caso 1: T1, T2, T3 abilitate • T1: 5 / 315 = 1.6 % • T2: 10 / 315 = 3.2 % • T3: 300 / 315 = 95.2 % • Probabilità caso 2: T1, T2 abilitate • T1: 5 / 15 = 33.3 % • T2: 10 / 15 = 66.7 % T1 [5] 2 5 [10] T2 [300] T3

  23. T1 [5] 2 5 [10] T2 [0] T3 Peso probabilistico: caso particolare • Una transizione connessa ad un arco con peso probabilistico = 0 è abilitata solo quando non esistono altre transizioni abilitabili connesse ad archi con pesi probabilistici > 0

  24. Esempio: Selettore

  25. Reti di Petri Musicali • Nel caso musicale • Ai posti possono venire associati oggetti musicali, eseguiti quando arrivano delle marche in ingresso • Alle transizioni possono venire associati algoritmi di modifica, eseguiti allo scatto • Il materiale musicale trattato è codificato in MX

  26. Temporizzazione • Nel nostro formalismo l’esecuzione delle transizioni è istantanea • La temporizzazione deriva dall’esecuzione degli oggetti musicali associati ai posti: le marche presenti sono disponibili in uscita solo quando l’eventuale esecuzione del materiale si è conclusa

  27. Algoritmi associati alle transizioni • In una PN musicale possono essere associati alle transizioni degli algoritmi che modificano il materiale musicale in ingresso, ponendo in uscita il frammento modificato • Vengono definiti degli operatori usabili negli algoritmi: gli operatori qui trattati sono stati introdotti negli anni ‘80, quando ai posti venivano associati frammenti MIDI

  28. Algoritmi: metacaratteri • Vengono usati all’interno degli algoritmi con un significato speciale • Sia Xl’oggetto musicale da trasformare: • $ contiene il numero totale di note di X • % contiene il numero di note della sottosequenza di X su cui abbiamo definito l’applicazione dell’algoritmo • ? contiene il valore del parametro, riferito alla nota corrente, che vogliamo cambiare • ! Contiene la posizione della nota su cui viene applicato l’operatore

  29. Algoritmi: operatori (estratto) • Oltre alle operazioni aritmetiche vengono definiti i seguenti operatori (fra altri) per la modifica dei parametri musicali • D (Duration): modifica durata • L (Loudness): modifica volume • M (Multiply): moltiplica note • R (Rotate): ruota note • P (Pitch): modifica altezza • I (Inversion): inverte note • K (Kill): cancella note • S (Save): preserva note

  30. Algoritmi: esempi alg MO Oggetto musicale associato a MO 1 1 0 1 • P: 1, $, ?+1 (trasposizione) • P: $-2, $, 2*G3-? (inversione speculare) • D : 1, $, ? * 2 (raddoppio delle durate)

  31. Algoritmi: esempi alg MO Oggetto musicale associato a MO 1 1 0 1 • L: 1, $, ! * (127 / %) (crescendo) • L: 1,$, (%-!+1) * (127/%) (diminuendo) • I : 2, 5 (retrogradazione)

  32. Algoritmi: esempi alg MO Oggetto musicale associato a MO 1 1 0 1 • M: 2, 5, 2 • K: 2,6 • S: 5,7

  33. Strutture elementari Alimentazione alternativa MO1 MO2 Sequenza Congiunzione Alimentazione congiunta Fusione

  34. Loop

  35. Reti di Petri e MX • Esecuzione di una PN musicale: • Mixaggio dei frammenti MX associati ai posti • Produzione di un file MX in output • Struttura del file MX in output: • Copia dei frammenti MX della PN • Mixaggio degli spine

  36. Mixaggio dell’MX • Quando viene processato un file MX in un posto: • La parte esterna allo spine viene copiata nell’MX globale • Ad ogni id viene aggiunto un prefisso che lo renda univoco (mx#_) • Se non ci sono sovrapposizioni lo spine viene accodato • Se esistono sovrapposizioni gli spine vengono mixati

  37. Mixaggio degli spine: giustapposizione • Esempio: istante di tempo relativo 25

  38. Mixaggio degli spine: sovrapposizione • Esempio: istante di tempo relativo 12

  39. Problemi di mixaggio • Nel mixaggio di file MX si deve far attenzione: i vtu sono misure di tempo relativo • Es.: si mixano due frammenti identici compilati da soggetti distinti: • Nel frammento 1 ogni battuta “dura” 4 vtu • Nel frammento 2 ogni battuta “dura” 256 vtu

  40. Problemi di mixaggio • Soluzione: nel file MX esiste un elemento XML chiamato vtu_amount che indica in quanti vtu è divisa una battuta • Anche con la soluzione proposta rimane il problema del mixaggio di frammenti con indicazioni metriche diverse

  41. Terminologia • Multimetria: andamento orizzontale della musica sottoposto a cambiamenti successivi nell’ambito dell’organizzazione metrica

  42. Terminologia • Polimetria: sovrapposizione simultanea di diversi flussi metrici

  43. Polimetria: soluzione • Per consentire mixaggi polimetrici è possibile assegnare un parametro di scala • In realtà sono possibili 3 modalità: • Automatica1: allineamento per battute • Automatica2: allineamento per valori • Manuale: specifica manuale dei parametri

  44. ScoreSynth

  45. Esempio: Canone

  46. Canone: struttura Tema: n. misure Pause: n. misure Voce1 16 16 12 Voce2 4 16 16 8 Voce3 8 16 16 4 Voce4 12 16 16

  47. Canone (soluzione 1) Supponiamo di aver codificato in 2 file MX: il tema e la pausa di 4 misure

  48. Canone: soluzione 2 Supponiamo di aver codificato in 4 file MX le 4 parti che costituiscono il tema complessivo, chiamando le singole parti Tema1...Tema4 Questo è il tema eseguito dalla prima voce; per eseguire le altre voci occorre che il tragitto Tema1->Tema4 sia riproposto sfasandolo ogni volta del tempo corrispondente a Tema1

  49. Canone: soluzione 2

  50. Canone: soluzione 2

More Related