Title: Reti di Petri Musicali
1Reti di Petri Musicali
Adriano Baratè adriano.barate_at_unimi.ithttp//www.
lim.dico.unimi.it/didatt/materiali/pns.ppt
2Scopi
- 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)
3Scopi
- Utilizzare un formalismo che presenti le seguenti
caratteristiche - Affinità con il modo di ragionare del compositore
- Supporto di diversi livelli di rappresentazione
dellinformazione musicale - Meccanismi di morfismo tra i vari livelli di
rappresentazione - Strutture di elaborazione concorrente
- Operatori per elaborare e trasformare le entitÃ
musicali - Alta flessibilitÃ
4Reti 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 lanalisi) - creare brani lavorando ad un livello di
astrazione più alto della notazione o del segnale
(strumento per la sintesi)
5Caratteristiche
- 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
6Oggetti 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 unapparecchiatura di
sintesi - Una specifica di parametri musicali (tempo,
volume)
7Oggetti Musicali (Music Objects MOs)
- Nei primi anni 80 i MOs erano descritti
attraverso lo standard MIDI - Dal 2004 si è esteso il modello attraverso
lutilizzo dellMX
8Reti 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
9Reti di Petri concetti fondamentali
Transizioni
Posti
Archi
Marche (Tokens)
Pesi degli archi
10Regole 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
11Regole formali
- 3. A ? (P ? T) ? (T ? P)
- Possono essere collegati fra loro solo nodi di
tipo diverso
12Regole 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
13Esecuzione di una PN
- Una PN non è statica, ma può mutare le sue
caratteristiche quando viene eseguita - Partenza dellesecuzione stato iniziale
- Esecuzione sequenza di scatti che mutano lo
stato della rete - Termine dellesecuzione assenza di possibilitÃ
di scatto
14Regole 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,
lesecuzione dello scatto toglierà dai posti in
ingresso un numero di marche pari al peso
dellarco in ingresso ed aggiungerà ad ogni posto
in uscita tante marche quanto è il peso dellarco
in uscita.
15Situazione 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
dellaltra.
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.
16Esempi
a) e) b) c) f) d)
2
1
0
2
0
2
1
2
2
1
2
0
2
2
1
0
3
17Esempi
g) i) h)
0
1
0
2
0
1
0
2
2
1
18Estensione capacitÃ
Il numero in basso allinterno 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
19Situazione non deterministica 2 conflitto
Laggiunta 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Ã
20Esempi
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
21Estensione 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
22Estensione 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
23Peso 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 gt 0
24Esempio Selettore
25Reti 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
26Temporizzazione
- Nel nostro formalismo lesecuzione delle
transizioni è istantanea - La temporizzazione deriva dallesecuzione degli
oggetti musicali associati ai posti le marche
presenti sono disponibili in uscita solo quando
leventuale esecuzione del materiale si è conclusa
27Algoritmi 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
28Algoritmi metacaratteri
- Vengono usati allinterno degli algoritmi con un
significato speciale - Sia X loggetto musicale da trasformare
- contiene il numero totale di note di X
- contiene il numero di note della sottosequenza
di X su cui abbiamo definito lapplicazione
dellalgoritmo - ? contiene il valore del parametro, riferito
alla nota corrente, che vogliamo cambiare - ! Contiene la posizione della nota su cui viene
applicato loperatore
29Algoritmi 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
30Algoritmi esempi
alg
MO
Oggetto musicale associato a MO
0 1
1 1
- P 1, , ?1 (trasposizione)
- P -2, , 2G3-? (inversione speculare)
- D 1, , ? 2 (raddoppio delle durate)
31Algoritmi esempi
alg
MO
Oggetto musicale associato a MO
0 1
1 1
- L 1, , ! (127 / ) (crescendo)
- L 1,, (-!1) (127/) (diminuendo)
- I 2, 5 (retrogradazione)
32Algoritmi esempi
alg
MO
Oggetto musicale associato a MO
0 1
1 1
33Strutture elementari
Alimentazione alternativa
MO1
MO2
Sequenza
Congiunzione
Alimentazione congiunta
Fusione
34Loop
35Reti 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
36Mixaggio dellMX
- Quando viene processato un file MX in un posto
- La parte esterna allo spine viene copiata nellMX
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
37Mixaggio degli spine giustapposizione
- Esempio istante di tempo relativo 25
Spine di output finale 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
Spine di output iniziale Spine di output iniziale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx0_ev3 3
mx0_ev4 10
Frammento MX Frammento MX
ID evento timing
mx1_ev1 0
mx1_ev2 5
mx1_ev3 6
mx1_ev4 2
38Mixaggio degli spine sovrapposizione
- Esempio istante di tempo relativo 12
Spine di output finale 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
Spine di output iniziale Spine di output iniziale
ID evento timing
mx0_ev1 0
mx0_ev2 10
mx0_ev3 3
mx0_ev4 10
Frammento MX Frammento MX
ID evento timing
mx1_ev1 0
mx1_ev2 5
mx1_ev3 6
mx1_ev4 2
39Problemi 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
40Problemi 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
41Terminologia
- Multimetria andamento orizzontale della musica
sottoposto a cambiamenti successivi nellambito
dellorganizzazione metrica
42Terminologia
- Polimetria sovrapposizione simultanea di diversi
flussi metrici
43Polimetria 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
44ScoreSynth
45Esempio Canone
46Canone struttura
n. misure
n. misure
Tema
Pause
Voce1
16
16
12
Voce2
16
16
4
8
Voce3
16
16
8
4
Voce4
16
16
12
47Canone (soluzione 1)
Supponiamo di aver codificato in 2 file MX il
tema e la pausa di 4 misure
48Canone 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-gtTema4 sia riproposto sfasandolo ogni volta
del tempo corrispondente a Tema1
49Canone soluzione 2
50Canone soluzione 2
51Canone soluzione 2
52Canone 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
53Canone modifica non-deterministica
54Canone modifica non-deterministica
55Canone modifica non-deterministica
56Es. Sonata KV332 di Mozart (1 movim.)
93 misure
93 misure
39 misure
Esposizione
Sviluppo
Ripresa
57Sonata struttura generale
- Esposizione e ripresa presentano parti in comune
e parti simili ma non identiche
FG First Group 1 frammento SG Second Group
2 frammento T Transition Transizione CG
Close Group Frammento finale
Esposizione
FG
T
SG
CG
Ripresa
FG
T
SGT
CGT
- T e T sono abbastanza diversi
- SG e CG nella ripresa sono trasposti
58Sonata struttura generale
93 misure
39 misure
59Sonata struttura esposizione/ripresa
Struttura FG
1FG (12 mis)
2FG (10 mis)
60Sonata struttura SG/CG
SG
CG
15 misure
15 misure
11 misure
5 misure
7 misure
61Sonata struttura T
1T
2T
3T
4T
5T
6T
7T
62Sonata struttura T
63Sonata Struttura T
Sottoreti
64Sonata struttura T
4Trh 5Trh 6Trh
4Tlh 5Tlh 6Tlh