Spa$al Programming for Musical Representa$on and nalysis Louis igo & ntoine Spicher & Olivier Michel mgs.spatial-computing.org LL, University Paris st réteil LIO, University of Orléans Mai 23-24, 2011
ontext n Spa$al compu$ng o ompute in space o ompute space n MS: a programming language for spa$al compu$ng o Introduc$on of topological concepts in a programming language o Two main principles n ata structure: topological collec$on n ontrol structure: transforma$on n Musical analysis NW 2011 - Spa$al Programming or Music Representa$on and nalysis
Outline n ackground on MS spa$al- compu$ng n Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on n onclusion NW 2011 - Spa$al Programming or Music Representa$on and nalysis
Outline n ackground on MS spa$al- compu$ng n Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on n onclusion NW 2011 - Spa$al Programming or Music Representa$on and nalysis
MS Main oncepts n Topological collec$ons o Structure n collec$on of topological cells 0-cell 1-cell 2-cell 3-cell NW 2011 - Spa$al Programming or Music Representa$on and nalysis
MS Main oncepts n Topological collec$ons o Structure n collec$on of topological cells n n incidence rela/onship NW 2011 - Spa$al Programming or Music Representa$on and nalysis
MS Main oncepts n Topological collec$ons o Structure n collec$on of topological cells n n incidence rela$onship o ata: associa&on of a value with each cell 2 «LL» 4.005 a λx.( x ) 1 `foo «MS» 5 λx.0 NW 2011 - Spa$al Programming or Music Representa$on and nalysis
MS Main oncepts n Transforma$ons o unc$ons defined by case on collec$ons ach case (pa\ern) matches a sub- collec$on o efining a rewri$ng rela$onship: topological rewri/ng Sub-collection Trans T = { Topological rewriting Sub-collection pa$ern 1 è expression 1 pa$ern n è expression n } Transformation Topological collection Topological collection NW 2011 - Spa$al Programming or Music Representa$on and nalysis
Outline n ackground on MS spa$al- compu$ng n Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on n onclusion NW 2011 - Spa$al Programming or Music Representa$on and nalysis
Neo- Riemannian Problema$c n Tradi$onal western music representa$on o ased on the use of a staff o Main drawbacks for visualiza$on of harmony n ontrapuntal proximity The spa$al distance between notes is not relevant for harmonic purpose n Spa$ally close pa\erns can sound very different n Neo- Riemannian representa$on of music o raphical representa$on of harmony rules o onsonance used as a graphical criterion Two notes that sound well must be spa$ally close NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Neo- Riemannian Problema$c n Musical composi$on (J.- M. houvel) Musical segments as successive transforma$ons of a shape in the labce Musical melody as a path in the labce
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Spa$al Representa$on of Musical Sequences n Temporal succession of musical events n Musical event as a topological collec4on o Posi$ons are notes o Labels represent played notes n Succession of events as a stream of collec4ons /me xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven)
ormaliza$on of Notes Neighborhoods n Which neighborhoods for significant visualiza$on? n Strong algebraic structure of music o Set N of notes (i.e. pitch classes) = {,,,,, #, } We do not consider octaves N = {,,,,,,,,,,, } NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Which neighborhoods for significant visualiza$on? n Strong algebraic structure of music o Set N = {,,,, } o roup (I,+) of intervals m2 M2 m3 n Rela$ve difference between notes M3 TT P4 I = { P1, m2, M2, m3, M3, P4, TT, P5, m6, M6, m7, M7 } NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Which neighborhoods for significant visualiza$on? n Strong algebraic structure of music o Set N = {,,,, } o roup (I,+) of intervals n Rela$ve difference between notes n (I,+) (Z 12,+) (isomorphism) P5 n xample M3 + m3 = P5 m3 I = { P1, m2, M2, m3, M3, P4, TT, P5, m6, M6, m7, M7 } NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Which neighborhoods for significant visualiza$on? n Strong algebraic structure of music o Set N = {,,,, } o roup (I,+) = { P1,, M7 } P4 o Transposi$on of notes n n i = n if i is the interval between n and n n xample o P4 = o m3 = m3 ac$on of I over N NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n onsonance as a neighborhood rela$onship o S N x N o (n 1, n 2 ) S if n 1 sounds well with n 2 n ssump$ons on S o S is symmetric n (n 1, n 2 ) S (n 2, n 1 ) S o S is defined up to a transposi$on n i I, (n 1, n 2 ) S (n 1 i, n 2 i) S n (, ) sounds well (= M3, = M3) sounds well n i 1 i 3 i 2 n S characterized by a subset I of I n I = { i 1, i 2,, i n } n n Ν, i I, (n, n i) S NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Spa$al representa$on of S o I as a set of group generators n < I > subgroup of I generated by the elements of I n xample I = { M2 } S = { (,), (,#), } I = { M2 } < I > = { P1, P1 + M2, P1 + 2.M2, } = { P1, M2, M3, TT, m6, m7 } NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Spa$al representa$on of S o I as a set of group generators o raph representa$on of < I > n ayley s graph o Ver$ces: intervals of < I > o dges: generators of I P1 +M2 M2 n xample with I = { M2 } +M2 +M2 m7 M3 +M2 +M2 m6 +M2 TT NW 2011 - Spa$al Programming or Music Representa$on and nalysis
ormaliza$on of Notes Neighborhoods n Spa$al representa$on of S o I as a set of group generators o raph representa$on of < I > o Representa$on of S based on ayley graph n c$on of < I > on Ν n xample with I = { M2 } = P1 = M2 = m7 = M3 = m6 = TT NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis pplica$ons n Scale representa$ons o hroma$c scale I = { m2 } o Whole- tone scale I = { M2 } o iminished scale I = { m2, M2 }
pplica$ons n Tradi$onal harmony representa$on o I = { M3, P5 } (uler s Tonnetz) o I = { m3, M3, P5 } (Harmonic table) o I = { m3, M3, P5, m7 } (3- Tonnetz) (uler) (J.- M. houvel) (. ollin) NW 2011 - Spa$al Programming or Music Representa$on and nalysis
n utoma$c graph genera$on NW 2011 - Spa$al Programming or Music Representa$on and nalysis pplica$ons unfolding
NW 2011 - Spa$al Programming or Music Representa$on and nalysis pplica$ons n Instruments concep$on I = { m2, P4 } (uitar) I = { m2, P5 } (Violin) I = { m2, M2, m3 } (ccordion)
pplica$ons n nalysis example o Signature of a piece o xample :. hopin Prelude xtract of the Prelude N.4 Op28 of. hopin NW 2011 - Spa$al Programming or Music Representa$on and nalysis
Outline n ackground on MS spa$al- compu$ng n Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on n onclusion NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Tonality and Möbius Strip n Mo$va$on: spa$al visualiza$on of tonality n ssocia$on of a chord set with the tonality: the degrees o xample: - major tonality n Spa$al representa$ons o Note = vertex o hord = surface n usion of the common notes for the 7 degrees I [Mazzola02]
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Self- ssembly of hords n utoma$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 o Note: 0- simplex o 2- note chord: 1- simplex o 3- note chord: 2- simplex maj
Self- ssembly of hords n utoma$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 o Note: 0- simplex o 2- note chord: 1- simplex o 3- note chord: 2- simplex o 4- note chord: 3- simplex maj7 maj NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Self- ssembly of hords n MS 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 }
pplica$ons n our- note degrees of - major tonality n hord = 3- simplex (tetrahedrons) n Self- assembly NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis pplica$ons n xtract of the Prelude No. 4 Op. 28 of. hopin n Simplicial complex
NW 2011 - Spa$al Programming or Music Representa$on and nalysis pplica$ons n xtract of the Prelude No. 4 Op. 28 of. hopin n nalysis of the path under the chords n The path chosen by. hopin is associated with the smallest movements on the chords
Outline n ackground on MS spa$al- compu$ng n Music and spa$al compu$ng Space for musical representa$on Space as musical representa$on n onclusion NW 2011 - Spa$al Programming or Music Representa$on and nalysis
onclusion & Perspec$ves n Preliminary work n Strong collabora$ons with composers / musicologists n xtend the valida$on on more musical problems o Spa$al representa$ons of other musical proper$es ($mbre, rythm, fingering etc.) n xtension to study musical styles n Spa$al proper$es musical proper$es n cknowledgements Jean- Louis iavi\o, Moreno ndrea\a, arlos gon, Jean- Marc houvel NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # b # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
xtract of the 2 nd movement of the Symphony No. 9 (L. van eethoven) # # # # # # # # # #
NW 2011 - Spa$al Programming or Music Representa$on and nalysis
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) NW 2011 - Spa$al Programming or Music Representa$on and nalysis # I = {m3, M3, P5} I = {m2, m3, M3} # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
xtract of the Prelude Op.28 N.4 (. hopin) # # # # # # # # # #
NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis # # # #
NW 2011 - Spa$al Programming or Music Representa$on and nalysis # # # #
NW 2011 - Spa$al Programming or Music Representa$on and nalysis # # # #
Spa$al ompu$ng & MS n Spa$al compu$ng o ompute in space o ompute space n MS: a programming language for spa$al compu$ng o Introduc$on of topological concepts in a programming language o Two main principles n ata structure: topological collec$on n ontrol structure: transforma$on NW 2011 - Spa$al Programming or Music Representa$on and nalysis
NW 2011 - Spa$al Programming or Music Representa$on and nalysis Neo- Riemannian Problema$c n xamples Neo- Riemannian approach for tonal music uler s tonnetz Hexagonal network of notes (J.- M. houvel)