1 Reti di Petri Musicali Adriano Baratè [email protected] .

64
1 Reti di Petri Musicali Adriano Baratè [email protected] http://www.lim.dico.unimi.it/didatt/materiali/pns.ppt

Transcript of 1 Reti di Petri Musicali Adriano Baratè [email protected] .

Page 1: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

1

Reti di Petri Musicali

Adriano Baratè

[email protected]://www.lim.dico.unimi.it/didatt/materiali/pns.ppt

Page 2: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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)

Page 3: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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à

Page 4: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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)

Page 5: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 6: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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…)

Page 7: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 8: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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}

Page 9: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

9

Reti di Petri: concetti fondamentali

Marche (Tokens)Pesi degli archi

Posti

Transizioni

Archi

Page 10: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 11: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

11

Regole formali

3. A (P T) (T P) Possono essere collegati fra loro solo nodi di tipo

diverso

Page 12: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 13: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 14: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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.

Page 15: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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.

Page 16: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

16

Esempi

2 1

2 12

2 12

2 13

2

0

0

2

0

0

a)

e)

b)

c)

f)

d)

Page 17: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

17

Esempi

0

1

2

0

1

2

0

2 1

0

g)

i)

h)

Page 18: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 19: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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à

Page 20: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

20

Esempi

02

11

22

02

11

22

03

22

22

22

22

a) c)

b)

Page 21: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 22: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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 %

Page 23: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 24: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

24

Esempio: Selettore

Page 25: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 26: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 27: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 28: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 29: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 30: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 31: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

31

L: 1, $, ! * (127 / %) (crescendo)

L: 1,$, (%-!+1) * (127/%) (diminuendo)

I : 2, 5 (retrogradazione)

Algoritmi: esempi

01

11

MO algOggetto musicale associato a MO

Page 32: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

32

M: 2, 5, 2

K: 2,6

S: 5,7

Algoritmi: esempi

01

11

MO algOggetto musicale associato a MO

Page 33: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

33

Strutture elementari

Sequenza

Alimentazione congiunta

Alimentazione alternativa

Congiunzione

Fusione

MO1

MO2

Page 34: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

34

Loop

Page 35: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 36: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 37: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 38: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 39: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 40: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 41: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

41

Terminologia

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

Page 42: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

42

Terminologia

Polimetria: sovrapposizione simultanea di diversi flussi metrici

Page 43: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 44: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

44

ScoreSynth

Page 45: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

45

Esempio: Canone

Page 46: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

46

Canone: struttura

16Voce1 16 12

16Voce2 164

16Voce3 168

16Voce4 1612

n. misuren. misureTema: Pause:

8

4

Page 47: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

47

Canone (soluzione 1)

Supponiamo di aver codificato in 2 file MX: il tema e la pausa di 4 misure

Page 48: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 49: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

49

Canone: soluzione 2

Page 50: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

50

Canone: soluzione 2

Page 51: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

51

Canone: soluzione 2

Page 52: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 53: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

53

Canone: modifica non-deterministica

Page 54: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

54

Canone: modifica non-deterministica

Page 55: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

55

Canone: modifica non-deterministica

Page 56: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

56

Es.: Sonata KV332 di Mozart (1° movim.)

93 misure 93 misure39 misure

Esposizione Sviluppo Ripresa

Page 57: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

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

Page 58: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

58

Sonata: struttura generale

93 misure 39 misure

Page 59: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

59

Sonata: struttura esposizione/ripresa

Struttura FG: 1FG (12 mis) 2FG (10 mis)

Page 60: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

60

Sonata: struttura SG/CG

SG CG

15 misure 15 misure 11 misure 5 misure 7 misure

Page 61: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

61

Sonata: struttura T

1T 2T

3T 4T 5T

6T 7T

Page 62: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

62

Sonata: struttura T

Page 63: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

63

Sonata: Struttura T’

Sottoreti:

Page 64: 1 Reti di Petri Musicali Adriano Baratè adriano.barate@unimi.it .

64

Sonata: struttura T’

4T’rh 5T’rh 6T’rh

4T’lh 5T’lh 6T’lh