Reti di Petri Musicali
Adriano Baratè
[email protected]
http://www.lim.dico.unimi.it/didatt/materiali/pns.ppt
1
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)
2
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à
3
Reti di Petri: Introduzione
 Una Rete di Petri (Petri Net – PN)
è un modello astratto e formale
atto 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)
4
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 / nondeterministiche
Gestione di macro per strutture comuni
Sintesi della musica descritta
5
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…)
6
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
7
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.
2.
3.
4.
P T=
P T
A  (P  T)  (T  P)
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}
8
Reti di Petri: concetti fondamentali
Transizioni
Posti
Archi
Marche (Tokens)
Pesi degli archi
9
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
10
Regole formali
3. A  (P  T)  (T  P)
Possono essere collegati fra loro solo nodi di tipo
diverso
11
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
12
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
13
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
14
uscita.
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.
15
Esempi
a)
2
1
e)
0
2
b)
c)
2
2
0
1
2
2
1
0
f)
2
d)
2
3
1
0
16
Esempi
g)
0
1
0
i)
2
0
h)
1
0
2
2
1
17
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
1
5
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à
Esempio di transizione non abilitata a
causa della capacità del posto in uscita:
1
2
3
2
4
18
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à
19
Esempi
a)
c)
1
1
2
2
2
2
0
2
2
2
0
3
b)
1
1
0
2
2
2
2
2
2
2
20
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
21
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
T1
Probabilità caso 1: T1, T2, T3 abilitate
• T1: 5 / 315 = 1.6 %
2
5
• T2: 10 / 315 = 3.2 %
[10]
T2
• T3: 300 / 315 = 95.2 %
Probabilità caso 2: T1, T2 abilitate
• T1: 5 / 15 = 33.3 %
T3
• T2: 10 / 15 = 66.7 %
22
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
T1
2
5
[10]
T2
T3
23
Esempio: Selettore
24
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
25
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
26
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
27
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
28
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
29
Algoritmi: esempi
MO
alg
1
1
 P: 1, $, ?+1
0
1
(trasposizione)
 P: $-2, $, 2*G3-?
 D : 1, $, ? * 2
Oggetto musicale associato a MO
(inversione speculare)
(raddoppio delle durate)
30
Algoritmi: esempi
MO
alg
1
1
Oggetto musicale associato a MO
0
1
 L: 1, $, ! * (127 / %)
(crescendo)
 L: 1,$, (%-!+1) * (127/%)
 I : 2, 5
(diminuendo)
(retrogradazione)
31
Algoritmi: esempi
MO
1
1
alg
0
1
Oggetto musicale associato a MO
 M: 2, 5, 2
 K: 2,6
 S: 5,7
32
Strutture elementari
MO1
Alimentazione alternativa
MO2
Sequenza
Congiunzione
Alimentazione congiunta
Fusione
33
Loop
34
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
35
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
36
Mixaggio degli spine: giustapposizione
 Esempio: istante di tempo relativo 25
Spine di output finale
Spine di output iniziale
Frammento MX
ID evento
timing
mx0_ev1
0
mx0_ev2
10
mx0_ev3
3
ID evento
timing
ID evento
timing
mx0_ev4
10
mx0_ev1
0
mx1_ev1
0
mx1_ev1
2
mx0_ev2
10
mx1_ev2
5
mx1_ev2
5
mx0_ev3
3
mx1_ev3
6
mx1_ev3
6
mx0_ev4
10
mx1_ev4
2
mx1_ev4
2
37
Mixaggio degli spine: sovrapposizione
Esempio: istante di tempo relativo 12
Spine di output finale
Spine di output iniziale
Frammento MX
ID evento
timing
mx0_ev1
0
mx0_ev2
10
mx1_ev1
2
ID evento
timing
ID evento
timing
mx0_ev3
1
mx0_ev1
0
mx1_ev1
0
mx1_ev2
4
mx0_ev2
10
mx1_ev2
5
mx1_ev3
6
mx0_ev3
3
mx1_ev3
6
mx0_ev4
0
mx0_ev4
10
mx1_ev4
2
mx1_ev4
2
38
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
39
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
40
Terminologia
Multimetria: andamento orizzontale della
musica sottoposto a cambiamenti
successivi nell’ambito dell’organizzazione
metrica
41
Terminologia
Polimetria: sovrapposizione simultanea di
diversi flussi metrici
42
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
43
ScoreSynth
44
Esempio: Canone
45
Canone: struttura
Tema:
Voce1
Voce2
Voce3
Voce4
4
n. misure
Pause:
16
16
16
8
12
16
16
12
n. misure
8
16
16
4
16
46
Canone (soluzione 1)
Supponiamo di aver codificato in 2 file MX: il tema e la pausa di 4 misure
47
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
48
Canone: soluzione 2
49
Canone: soluzione 2
50
Canone: soluzione 2
51
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
52
Canone: modifica non-deterministica
53
Canone: modifica non-deterministica
54
Canone: modifica non-deterministica
55
Es.: Sonata KV332 di Mozart (1° movim.)
93 misure
39 misure
Esposizione
Sviluppo
93 misure
Ripresa
56
Sonata: struttura generale
 Esposizione e ripresa presentano parti in
comune e parti simili ma non identiche
FG: First Group – 1° frammento
T: Transition – Transizione
SG: Second Group – 2° frammento
CG: Close Group – Frammento finale
Esposizione:
FG
T
SG
CG
T’
SGT
CGT
Ripresa:
FG
 T e T’ sono abbastanza diversi
 SG e CG nella ripresa sono trasposti
57
Sonata: struttura generale
93 misure
39 misure
58
Sonata: struttura esposizione/ripresa
Struttura FG:
1FG (12 mis)
2FG (10 mis)
59
Sonata: struttura SG/CG
CG
SG
15 misure
15 misure
11 misure
5 misure
7 misure
60
Sonata: struttura T
1T
3T
6T
2T
4T
5T
7T
61
Sonata: struttura T
62
Sonata: Struttura T’
Sottoreti:
63
Sonata: struttura T’
4T’rh
5T’rh
6T’rh
4T’lh
5T’lh
6T’lh
64
Scarica

+1 - LIM | Laboratorio di Informatica Musicale