Document 10907205

advertisement
Spa$al Programming for Musical Representa$on and Analysis Louis Bigo & Antoine Spicher & Olivier Michel
mgs.spatial-computing.org
LACL, University Paris Est Créteil
LIFO, University of Orléans – Mai 23-24, 2011 Context n 
Spa$al compu$ng o 
o 
n 
Compute in space Compute space MGS: a programming language for spa$al compu$ng o 
o 
Introduc$on of topological concepts in a programming language Two main principles Data structure: topological collec$on n  Control structure: transforma$on n 
n 
Musical analysis NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Outline n 
n 
n 
Background on MGS spa$al-­‐compu$ng Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on Conclusion NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Outline n 
n 
n 
Background on MGS spa$al-­‐compu$ng Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on Conclusion NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis MGS Main Concepts n 
Topological collec$ons o 
Structure n 
0-cell
A collec$on of topological cells 1-cell
2-cell
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis 3-cell
MGS Main Concepts n 
Topological collec$ons o 
Structure A collec$on of topological cells n  An incidence rela/onship n 
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis MGS Main Concepts n 
Topological collec$ons o 
Structure A collec$on of topological cells n  An incidence rela$onship n 
o 
Data: associa&on of a value with each cell « LACL » 2 ‘a’ λx.(…x…) 4.005 1 « MGS » 5 λx.0 NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis `foo MGS Main Concepts n 
Transforma$ons o 
Func$ons defined by case on collec$ons Each case (pa\ern) matches a sub-­‐collec$on o 
Defining a rewri$ng rela$onship: topological rewri/ng Sub-collection
Trans T = Topological
{ rewriting
pa$ern1 è expression1 … pa$ernn è expressionn } Transformation
Topological collection
Sub-collection
Topological collection
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Outline n 
n 
n 
Background on MGS spa$al-­‐compu$ng Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on Conclusion NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Neo-­‐Riemannian Problema$c n 
Tradi$onal western music representa$on o 
o 
Based on the use of a staff Main drawbacks for visualiza$on of harmony n 
Contrapuntal proximity The spa$al distance between notes is not relevant for harmonic purpose n 
n 
Spa$ally close pa\erns can sound very different Neo-­‐Riemannian representa$on of music o 
o 
Graphical representa$on of harmony rules Consonance used as a graphical criterion Two notes that sound well must be spa$ally close NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Neo-­‐Riemannian Problema$c n 
Musical composi$on (J.-­‐M. Chouvel) Musical segments as successive transforma$ons of a shape in the labce Musical melody as a path in the labce NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Spa$al Representa$on of Musical Sequences n 
Temporal succession of musical events n 
Musical event as a topological collec4on D
o 
Posi$ons are notes o 
Labels represent played notes A
C
F
n 
B
A♯
G
D♯
G♯
E
C♯
F♯
Succession of events as a stream of collec4ons Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) /me NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Which neighborhoods for significant visualiza$on? n 
Strong algebraic structure of music o 
B
C
C♯
Set N of notes (i.e. pitch classes) = { C, C#, D, …, A, A#, B } A♯
We do not consider octaves D
D♯
A
E
G♯
G
F
F♯
N = { C, C♯, D, D♯, E, F, F♯, G, G♯, A, A♯, B } NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Which neighborhoods for significant visualiza$on? n 
Strong algebraic structure of music o 
o 
Set N = { C, C♯, …, A♯, B } B
m2
M2
A♯
Group (I,+) of intervals n 
C
C♯
D
m3
Rela$ve difference between notes TT P4
A
M3
D♯
E
G♯
G
F
F♯
I = { P1, m2, M2, m3, M3, P4, TT, P5, m6, M6, m7, M7 }
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Which neighborhoods for significant visualiza$on? n 
Strong algebraic structure of music o 
o 
Set N = { C, C♯, …, A♯, B } Group (I,+) of intervals C
B
C♯
A♯
D
Rela$ve difference between notes A
n  (I,+) ≅ (Z12,+) (isomorphism) n  Example M3 + m3 = P5 G♯
P5
n 
D♯
E
m3
G
F
F♯
I = { P1, m2, M2, m3, M3, P4, TT, P5, m6, M6, m7, M7 }
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Which neighborhoods for significant visualiza$on? n 
Strong algebraic structure of music o 
Set N = { C, C♯, …, A♯, B } Group (I,+) = { P1, …, M7 } o 
Transposi$on ⊕ of notes A♯
D
A
n ⊕ i = n’
if i is the interval between n and n’ n  Example G♯
o  C ⊕ P4 = F o  E ⊕ m3 = G n 
C♯
⊕ P4
o 
B
C
D♯
E
⊕ m3
G
⊕ ac$on of I over N NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis F
F♯
Formaliza$on of Notes Neighborhoods n 
Consonance as a neighborhood rela$onship o 
o 
n 
S ⊂ N x N
(n1, n2) ∈ S if n1 “sounds well” with n2 Assump$ons on S
o 
S is symmetric n 
o 
(n1, n2) ∈ S ⇒ (n2, n1) ∈ S
i1
n
i2
i3
S is defined up to a transposi$on ∀i ∈ I, (n1, n2) ∈ S ⇒ (n1 ⊕ i, n2 ⊕ i) ∈ S
n  (C, G) sounds well ⇒ (E= C ⊕ M3, B = G ⊕ M3) sounds well n 
n 
S characterized by a subset I of I
I = { i1, i2, …, in }
n  ∀n ∈ Ν, ∀i ∈ I,
(n, n ⊕ i) ∈ S
n 
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Spa$al representa$on of S
o 
I as a set of group generators < I > subgroup of I generated by the elements of I n  Example I = { M2 }
n 
S = { (C,D), (C#,D#), …}
I = { M2 }
< I > = { P1, P1 + M2, P1 + 2.M2, … }
= { P1, M2, M3, TT, m6, m7 }
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Formaliza$on of Notes Neighborhoods n 
Spa$al representa$on of S
o 
o 
I as a set of group generators Graph representa$on of < I > n 
Cayley’s graph Ver$ces: intervals of < I > o  Edges: generators of I
o 
n 
Example with I = { M2 }
P1
+M2
M2
+M2
+M2
m7
M3
+M2
+M2
m6
+M2
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis TT
Formaliza$on of Notes Neighborhoods n 
Spa$al representa$on of S
o 
o 
o 
I as a set of group generators Graph representa$on of < I >
Representa$on of S based on Cayley graph
Ac$on of < I > on Ν
n  Example with I = { M2 } n 
C=C ⊕ P1
A♯=C ⊕ m7
D=C ⊕ M2
E=C ⊕ M3
G♯=C ⊕ m6
F♯=C ⊕ TT
C♯
D♯
B
F
A
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis G
Applica$ons n 
Scale representa$ons o 
Chroma$c scale I = { m2 }
C
o 
C♯ D D♯ E F F♯ G♯ A A♯ B Whole-­‐tone scale I = { M2 }
C
D E F♯ G♯ A♯ C♯ D♯ F G A B o 
G Diminished scale I = { m2, M2 }
C
C♯ D D♯ E D
D♯ E F E
F F♯
G G♯ A F♯ F♯ G G♯ NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis A♯ Applica$ons n 
Tradi$onal harmony representa$on o 
o 
o 
I = { M3, P5 } (Euler’s Tonnetz) I = { m3, M3, P5 } (Harmonic table) I = { m3, M3, P5, m7 } (3D-­‐Tonnetz) (Euler) (J.-­‐M. Chouvel) NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis (E. Gollin) Applica$ons Automa$c graph genera$on n 
unfolding NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Applica$ons n 
Instruments concep$on I = { m2, P4 } (Guitar) I = { m2, P5 } (Violin) I = { m2, M2, m3 } (Accordion) NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Applica$ons n 
Analysis example o 
o 
Signature of a piece Example : F. Chopin Prelude Extract of the Prelude N.4 Op28 of F. Chopin NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Outline n 
n 
n 
Background on MGS spa$al-­‐compu$ng Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on Conclusion NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Tonality and Möbius Strip n 
n 
Mo$va$on: spa$al visualiza$on of tonality Associa$on of a chord set with the tonality: the degrees o 
Example: C-­‐major tonality C
n 
Spa$al representa$ons o 
o 
n 
Note = vertex Chord = surface IC
G
Fusion of the common notes for the 7 degrees [Mazzola02] NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis E
Self-­‐Assembly of Chords Automa$on of the process for the analysis of other chords sequences n  Reac4on of the chords between themselves n  Simplicial representa$on of musical objects n 
o 
o 
o 
Note: 0-­‐simplex 2-­‐note chord: 1-­‐simplex 3-­‐note chord: 2-­‐simplex C
Cmaj
G
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis E
Self-­‐Assembly of Chords Automa$on of the process for the analysis of other chords sequences n  Reac4on of the chords between themselves n  Simplicial representa$on of musical objects n 
o 
o 
o 
o 
C
Note: 0-­‐simplex 2-­‐note chord: 1-­‐simplex 3-­‐note chord: 2-­‐simplex 4-­‐note chord: 3-­‐simplex B
Cmaj
Cmaj7
G
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis E
Self-­‐Assembly of Chords n 
MGS transforma$on for self-­‐assembly process Trans identification = {
s1 s2 / (s1 == s2 & (faces s1) == (faces s2))
=>
let c = new_cell (dim s1)
(faces s1)
(union (cofaces s1)
(cofaces s2))
in s1 * c
}
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Applica$ons n 
Four-­‐note degrees of C-­‐major tonality n 
Chord = 3-­‐simplex (tetrahedrons) Self-­‐assembly n 
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Applica$ons n 
Extract of the Prelude No. 4 Op. 28 of F. Chopin n 
Simplicial complex NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Applica$ons n 
Extract of the Prelude No. 4 Op. 28 of F. Chopin n 
Analysis of the path under the chords n 
The path chosen by F. Chopin is associated with the smallest movements on the chords NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Outline n 
n 
n 
Background on MGS spa$al-­‐compu$ng Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on Conclusion NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Conclusion & Perspec$ves n 
n 
n 
Preliminary work Strong collabora$ons with composers / musicologists Extend the valida$on on more musical problems o 
n 
n 
n 
Spa$al representa$ons of other musical proper$es ($mbre, rythm, fingering etc.) Extension to study musical styles Spa$al proper$es ⇔ musical proper$es Acknowledgements Jean-­‐Louis Giavi\o, Moreno Andrea\a, Carlos Agon, Jean-­‐Marc Chouvel NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
B♭
F#
E#
B
G
E♭
B
G#
E
C
G♭
C
F
C#
A
B♭
b
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the 2nd movement of the Symphony No. 9 (L. van Beethoven) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) C#
D
Bb
F#
B
G
Eb
B
G#
C
E
A
Bb
D
Eb
B
G#
F
C#
A
F
C#
A
G#
C
E
C
E
G#
C
Eb
G
B
G
B
Eb
G
Bb
D
F#
D
F#
Bb
D
F#
A
C#
F
F
C#
F
A
C#
E
C
E
G#
G
Eb
Bb
F#
D
Bb
Eb
B
Extract of the Prelude Op.28 N.4 (F. Chopin) D
G#
Bb
B
E
B
G
G
I = {m3, M3, P5}
I = {m2, m3, M3}
D
Bb
Eb
B
G
Eb
E
G#
E
C
G#
B
G
Eb
C#
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Bb
F#
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
Extract of the Prelude Op.28 N.4 (F. Chopin) G
D
Bb
F#
F
C#
A
F
G#
C
E
Eb
Bb
D
A
F
G#
B
G
Eb
B
G
Eb
G#
C
E
C
E
G#
C
A
C#
F
C#
F
A
C#
Bb
D
F#
D
F#
Bb
D
F#
Eb
G
B
B
G
B
Eb
G
E
C
E
G#
C#
A
Bb
F#
D
Bb
A
F
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis C
A#
B
D
D#
A
G#
C#
E
G
F
E
F#
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis C
A#
B
D
D#
A
G#
C#
E
G
F
E
F#
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis C
A#
B
C#
D#
A
G#
D
G
F
E
F#
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Spa$al Compu$ng & MGS n 
Spa$al compu$ng o 
o 
n 
Compute in space Compute space MGS: a programming language for spa$al compu$ng o 
o 
Introduc$on of topological concepts in a programming language Two main principles Data structure: topological collec$on n  Control structure: transforma$on n 
NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis Neo-­‐Riemannian Problema$c n 
Examples Neo-­‐Riemannian approach for tonal music Euler’s tonnetz Hexagonal network of notes (J.-­‐M. Chouvel) NWC 2011 -­‐ Spa$al Programming For Music Representa$on and Analysis 
Download