1 Reti di Petri Musicali Adriano Baratè [email protected] http://www.lim.dico.unimi.it/didatt/materiali/pns.ppt
Jan 15, 2016
1
Reti di Petri Musicali
Adriano Baratè
[email protected]://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
Marche (Tokens)Pesi degli archi
Posti
Transizioni
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, dovedom(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 inizialeEsecuzione: sequenza di scatti che
mutano lo stato della reteTermine 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
2 1
2 12
2 12
2 13
2
0
0
2
0
0
a)
e)
b)
c)
f)
d)
17
Esempi
0
1
2
0
1
2
0
2 1
0
g)
i)
h)
18
Estensione: capacità
15
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à
12
24
Esempio di transizione non abilitata a causa della capacità del posto in uscita: 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 in conflitto quando lo scatto di tutte porterebbe in un posto un numero di marche maggiore della sua capacità
20
Esempi
02
11
22
02
11
22
03
22
22
22
22
a) c)
b)
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
25
[5]
[10]
[300]
T3
T1
T2
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 %
23
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
25
[5]
[10]
[0]
T3
T1
T2
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 X l’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
P: 1, $, ?+1 (trasposizione)
P: $-2, $, 2*G3-? (inversione speculare)
D : 1, $, ? * 2 (raddoppio delle durate)
Algoritmi: esempi
01
11
MO algOggetto musicale associato a MO
31
L: 1, $, ! * (127 / %) (crescendo)
L: 1,$, (%-!+1) * (127/%) (diminuendo)
I : 2, 5 (retrogradazione)
Algoritmi: esempi
01
11
MO algOggetto musicale associato a MO
32
M: 2, 5, 2
K: 2,6
S: 5,7
Algoritmi: esempi
01
11
MO algOggetto musicale associato a MO
33
Strutture elementari
Sequenza
Alimentazione congiunta
Alimentazione alternativa
Congiunzione
Fusione
MO1
MO2
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
Spine di output iniziale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx0_ev3 3
mx0_ev4 10
Frammento MX
ID evento timing
mx1_ev1 0
mx1_ev2 5
mx1_ev3 6
mx1_ev4 2
Spine di output finale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx0_ev3 3
mx0_ev4 10
mx1_ev1 2
mx1_ev2 5
mx1_ev3 6
mx1_ev4 2
38
Mixaggio degli spine: sovrapposizione
Esempio: istante di tempo relativo 12
Spine di output iniziale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx0_ev3 3
mx0_ev4 10
Frammento MX
ID evento timing
mx1_ev1 0
mx1_ev2 5
mx1_ev3 6
mx1_ev4 2
Spine di output finale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx1_ev1 2
mx0_ev3 1
mx1_ev2 4
mx1_ev3 6
mx0_ev4 0
mx1_ev4 2
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
16Voce1 16 12
16Voce2 164
16Voce3 168
16Voce4 1612
n. misuren. misureTema: Pause:
8
4
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
51
Canone: soluzione 2
52
Canone: modifica non-deterministica
Vogliamo ottenere una versione non-deterministica, in cui in ogni voce ci sia una sequenza casuale delle 4 parti del tema ad ogni sua proposizione
53
Canone: modifica non-deterministica
54
Canone: modifica non-deterministica
55
Canone: modifica non-deterministica
56
Es.: Sonata KV332 di Mozart (1° movim.)
93 misure 93 misure39 misure
Esposizione Sviluppo Ripresa
57
Sonata: struttura generale
Esposizione e ripresa presentano parti in comune e parti simili ma non identiche
FG
Esposizione:
T SG CG
FG: First Group – 1° frammento SG: Second Group – 2° frammentoT: Transition – Transizione CG: Close Group – Frammento finale
FG
Ripresa:
T’ SGT CGT
T e T’ sono abbastanza diversi SG e CG nella ripresa sono trasposti
58
Sonata: struttura generale
93 misure 39 misure
59
Sonata: struttura esposizione/ripresa
Struttura FG: 1FG (12 mis) 2FG (10 mis)
60
Sonata: struttura SG/CG
SG CG
15 misure 15 misure 11 misure 5 misure 7 misure
61
Sonata: struttura T
1T 2T
3T 4T 5T
6T 7T
62
Sonata: struttura T
63
Sonata: Struttura T’
Sottoreti:
64
Sonata: struttura T’
4T’rh 5T’rh 6T’rh
4T’lh 5T’lh 6T’lh