computer music generation: neat drummer
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Computer Music Generation: NEAT Drummer
Presentation by Amy Hoover(Based on Paper, Reference 1)
COT 481003/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
Input
Output
Biological Artificial Neural Network (ANN)
Input
Output
ANNs
• ANN Activation
X1 X2
H1 H2
out1 out2
w11
w21w12
Neuron j activation:
n
iijij wxH
1
Musical Instrument Digital Interface
• Basic MIDI fileTrack 1 Track 3Track 2
PianoFiddleBanjo
…
PianoGuitarBass
…
PianoFiddleBanjo
…
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)
(Nelson, 1993)(Dawkins, 1987)
http://picbreeder.org
IEC Example: Picbreeder
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
How CPPNs Encode Drum Tracks
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
NEAT Drummer
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
Oh! Susanna
Oh! Susanna
Oh! Susanna
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 the Sixth 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 ECoptimization 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 anddevelopment of musical organisms. In: 4th Biennial Art and Technology Symp.(1993) 155{169
References Pt. 2Husbands, 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{27Yao, X.: Evolving arti¯cial neural networks. Proc. of the IEEE 87(9) (1999) 1423{1447Stanley, K.O., Miikkulainen, R.: Evolving neural networks through augmenting topologies.
Evolutionary Computation 10 (2002) 99{127Stanley, K.O., Miikkulainen, R.: Competitive coevolution through evolutionary
complexi¯cation. 21 (2004) 63{100Stanley, K.O.: Compositional pattern producing networks: A novel abstraction
of development. Genetic Programming and Evolvable Machines Special Issue onDevelopmental Systems 8(2) (2007) 131{162