web.cse.ohio-state.edu

web.cse.ohio-state.edu

Procedurally Generated Music Peter Ferguson, Darren Ng, Joey Radebaugh Overview

Development of procedural music as a medium Different algorithmic approaches Procedural music in video games Demos! Procedural Music Initially based in research into generative grammars as laid out by Noam Chomsky in 1965. Evolved through further research in the 1980s Popularization by experimental electronic artist Brian Eno, who popularized the term generative music

Expanded over time with a multitude of algorithmic approaches, experience-driven models Generative Grammars A system proposed by Noam Chomsky to model the syntax of a language. Application today particularly in the fields of linguistics and computer science (CFGs) Adapted for use in music research as early as late 70s/early 80s

Example Generative Grammar [COMPOSITION -> CANON] [CANON -> VOICE 1, STRUCTURE, VOICE2,STRUCTURE ] [ STRUCTURE -> # 4 # TRANSFORMATION (GROUP) ] [ TRANSFORMATION -> ! -. @R . @I. @RI. @O6. @R6. @I6. @RI6] "GROUP -> # 12 # ! OBJ1 . OBJ2. OBJ3 . OBJ4. OBJ5 . OBJ6. OBJ7. OBJ8 . OBJ9. OBJ10 . OBJ11 . OBJ12 " This grammar, expressed in Generative Grammar Definition Language (GGDL), is sufficient to generate the pitch structure from Schoenbergs Trio from the Suite fur Klavier Op. 25 (1925)

(S.R. Holtzman, 53) Problems with generative grammar For certain instruments/with certain grammars, it is very possible to generate unplayable music. ( http://i.imgur.com/Sbb8mXx.png) Grammar complexity Markov Chains

First conceptualized in 1906 by mathematician Andrei Andreevich Markov Model behavior of sequences of events via states and state transitions Only store information on current states and transition possibilities from a given state Markov Chains and Music

State transitions are weighted depending on the current state. Transitions can occur to either states with notes or rests, with multiple instruments performing individual chains simultaneously For music, utilizing chains capable of knowing prior states makes for better-modeled music. Disadvantages of Markov Chains Unweighted states result in unstructured music

Complex states necessary for well-formed music using multiple instrumental parts Genetic Algorithms Genetic algorithms use breeding populations of possible solutions to eventually reach a solution. Can select breeding mates based on fitness, breed, mutate DarwinTunes Disadvantages of GAs Not using appropriately structured

mutations can lead to unstructured, bland music. Complex mutations result in better music, but make for inefficiency. Experience-driven models Today, procedural music created for games is tailored to the players actions in order to create an immersive experience. Different elements of gameplay can be set to different changes in the music.

Generative music in video games Portal 2 Spore Euclidean Rhythm Used to generate traditional music rhythms Concept o Evenly distributes pulses within interval Euclidean Algorithm o Used to determine greatest common denominator between

integers Euclidean (m, k) // for m > k if (k == 0) { return m; } else { return Euclidean (k, m mod k) } Bjorklund Algorithm Example: Given (m = 13, k = 5) where m is interval size and k is number of pulses in an interval o Start by subtracting pulses from interval size to get pauses and ordering pulses followed by pauses [1] [1] [1] [1] [1] [0] [0] [0] [0] [0] [0] [0] [0]

8 - 5 = 3; [1 0] [1 0] [1 0] [1 0] [1 0] [0] [0] [0] 5 - 3 = 2; [1 0 0] [1 0 0] [1 0 0] [1 0] [1 0] 3 - 2 = 1;

[1 0 0 1 0] [1 0 0 1 0] [1 0 0] 2 - 1 = 1; [1 0 0 1 0 1 0 0 1 0 1 0 0] Done Comparing Bjorklund and Euclidean Euclidean (m, k) // for m > k if (k == 0) { return m; }

else { return Euclidean (k, m mod k) } (8, 5); 8 - 5 = 3; (5, 3); 5 - 3 = 2; (3, 2);

3 - 2 = 1; (2, 1); 2 - 1 = 1; (1, 0); Done Example Euclidean Rhythms

Common Notation o Pulses denoted by x and pauses denoted by . o Ex. (13, 5) = [x . . x . x . . x . x . .] Money Pink Floyd, (7, 3) = [ x . x . x . . ] Outside Now Frank Zappa, (11, 4) = [x . . x . . x . . x .] Bulgarian Folk Dance Rhythm, (7, 4) = [x . x . x . x] Symphony No. 6, Tchaikovsky (5, 2) = [x . x . .] Demo http://www.abundant-music.com/

Sources Holtzman, S. R. "Using Generative Grammars for Music Composition." Computer Music Journal 5.1 (1981): 51-64. MIT Press. Web. 23 Feb. 2015. Ames, Charles. "The Markov Process as a Compositional Model: A Survey and Tutorial."Leonardo 22.2 (1989): 175-87. MIT Press. Web. 23 Feb. 2015.

http://game.darwintunes.org/ http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf http://kreese.net/blog/2010/03/27/generating-musical-rhythms/

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.3295&rep=rep1&type=pdf http://axon.cs.byu.edu/Dan/673/papers/plans.pdf

Recently Viewed Presentations