Computer Music Generation: NEAT Drummer

Post on 25-Feb-2016

46 views 3 download

Tags:

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 Presentation

Transcript of Computer Music Generation: NEAT Drummer

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