310 likes | 477 Views
Computer Music Generation: NEAT Drummer. Presentation by Amy Hoover (Based on Paper, Reference 1) COT 4810 03/04/08. Introduction. Music: composers can “hear” simultaneous parts Sounds artificial Idea: Different instrument parts may be functionally related
E N D
Computer Music Generation: NEAT Drummer Presentation by Amy Hoover (Based on Paper, Reference 1) COT 4810 03/04/08
Introduction • Music: composers can “hear” simultaneous parts • Sounds artificial • Idea: Different instrument parts may be functionally related • Melody may be a scaffold, i.e. an existing support structure • Implementation: NEAT Drummer generates drum patterns for human compositions
Outline • Background • Neural Networks • Musical Instrument Digital Interface • Interactive Evolutionary Computation • NEAT Drummer • Generated drum tracks • Discussion • Conclusion
Neural Networks Artificial Neural Network (ANN) Biological Output Output Input Input
ANNs • ANN Activation Neuron j activation: out1 out2 H1 H2 w11 w21 w12 X1 X2
Musical Instrument Digital Interface • Basic MIDI file Track 1 Track 2 Track 3 Piano Piano Piano Fiddle Guitar Fiddle Banjo Bass Banjo … … …
Interactive Evolutionary Computation • Interactive evolutionary computation (IEC) – The user selects the parents of the next generation • Original idea: Biomorphs (Dawkins, 1987) • First musical implementation: Sonomorphs (Nelson, 1993) (Dawkins, 1987) (Nelson, 1993)
IEC Example: Picbreeder http://picbreeder.org
IEC Example: Picbreeder http://picbreeder.org
IEC Example: Picbreeder • NEAT Drummer uses the same algorithm and encoding http://picbreeder.org
Encoding: Compositional Pattern Producing Networks (CPPNs) • CPPN: a type of ANN • Activation functions aren’t restricted to typical ANN sigmoids • Can include sine, Gaussian, others
Encoding: Compositional Pattern Producing Networks (CPPNs) • Designed to produce regularities [D’Ambrosio]
Connectionist Music • Most connectionist music encodes recurrent ANNs • Evolving recurrent ANNs (Chen and Miikkulainen, 2001) • Current problem: either evolve to fit style or artificial
NEAT Drummer • Generates drum patterns for existing human compositions • Drum patterns represented by CPPN output values over time • Evolved with NEAT
Evolving CPPNs Interactively • Generate random initial population • Evolve increasingly complex rhythms through user guided selection
Experiments: Adding Drum Tracks • Add drum tracks to two popular folk songs • Originally sequenced by Barry Taylor without drums (added drums with permission) • Songs: Johnny Cope, Oh! Susanna • Show power of functional relationship
Johnny Cope • Even first generations sound good • Not truly random
Johnny Cope • Even first generations sound good • Not truly random
Johnny Cope • Even first generations sound good • Not truly random
Johnny Cope • Even first generations sound good • Not truly random
Discussion and Future Work • Functional relationship is the right representation for relating parts of a song • What is the right language for encoding music? Not music? • No need for recurrence in connectionist music because of functional relationships • Future work: • Generating other parts of songs (e.g. bass) • Reducing the scaffold
Conclusion • NEAT Drummer: a new method for generating drum tracks for existing songs • A new perspective on music generation: functional relationships in scaffolding • Generates a natural sound • May lead to generating melodic tracks in the future
Special Thanks • To Dr. Stanley who reviewed my slides and allowed me to use some of his images • To Barry Taylor who allowed me to add NEAT Drummer rhythms to his MIDIs
Questions • How does NEAT Drummer encode drum patterns? • What is a CPPN?
References Pt.1 Hoover, Amy K., Michael P. Rosario, and Kenneth O. Stanley. Scaffolding for Interactively Evolving Novel Drum Tracks for Existing Songs. Proceedings of theSixth European Workshop on Evolutionary and Biologically Inspired Music, Sound, Art and Design (EvoMUSART 2008). New York, NY: Springer, 2008 McCormack, J.: Open problems in evolutionary music and art. In: Proc. of Applications of Evolutionary Comp., (EvoMUSART 2005). Volume 3449 of Lecture Notes in Computer Science., Berlin, Germany, Springer Verlag (2005) 428{436 Takagi, H.: Interactive evolutionary computation: Fusion of the capacities of EC optimization and human evaluation. Proc. of the IEEE 89(9) (2001) 1275{1296 Dawkins, R.: The Blind Watchmaker. Longman, Essex, U.K. (1986) Todd, S., Latham, W.: Evolutionary Art and Computers. Academic Press, London (1992) Nelson, G.L.: Sonomorphs: An application of genetic algorithms to growth and development of musical organisms. In: 4th Biennial Art and Technology Symp. (1993) 155{169
References Pt. 2 Husbands, P., Copley, P., Eldridge, A., Mandelis, J.: 1. In: Evolutionary Computer Music. Springer London (2007) Biles, J.A.: 2. In: Evolutionary Computer Music. Springer London (2007) Todd, P.M., Loy, D.G.: Music and Connectionism. MIT Press, Cambridge, MA (1991) Chen, C.C.J., Miikkulainen, R.: Creating melodies with evolving recurrent neural networks. In: Proc. of the 2001 Int. Joint Conf. on Neural Networks, Washington, D.C., IEEE Press (2001) 2241{2246 Gomez, F., Miikkulainen, R.: Solving non-Markovian control tasks with neuroevolution. (1999) 1356{1361 Saravanan, N., Fogel, D.B.: Evolving neural control systems. IEEE Expert (1995)23{27 Yao, X.: Evolving arti¯cial neural networks. Proc. of the IEEE 87(9) (1999) 1423{1447 Stanley, K.O., Miikkulainen, R.: Evolving neural networks through augmenting topologies. Evolutionary Computation 10 (2002) 99{127 Stanley, K.O., Miikkulainen, R.: Competitive coevolution through evolutionary complexi¯cation. 21 (2004) 63{100 Stanley, K.O.: Compositional pattern producing networks: A novel abstraction of development. Genetic Programming and Evolvable Machines Special Issue on Developmental Systems 8(2) (2007) 131{162