Abstract
In this paper we present a genetic programming system that evolves the music composition process rather than the musical product. We model the composition process using a Turing-complete virtual register machine, which renders musical pieces. These are evaluated using a series of fitness tests, which judge their statistical similarity against a corpus of Bach keyboard exercises. We explore the space of parameters for the system, looking specifically at population size, single-versus multi-track pieces and virtual machine instruction set design. Results demonstrate that the methodology succeeds in creating pieces of music that converge towards the properties of the chosen corpus. The output pieces exhibit certain musical qualities (repetition and variation) not specifically targeted by our fitness tests, emerging solely based on the statistical similarities.
Similar content being viewed by others
Notes
It should be noted that the corpus information is only used to inform our fitness evaluation. If desired, tests based on alternative criteria could be readily substituted without requiring changes to any other part of the system.
Musical Instrument Digital Interface.
Works BWV 772-801, MIDI files for which were downloaded from www.midiworld.com/bach.htm.
References
Alfonseca M, Cebrian M, Ortega A (2007) A simple genetic algorithm for music generation by means of algorithmic information theory. In: IEEE congress on evolutionary computation, IEEE, pp 3035–3042
Biles J (1994) GenJam: a genetic algorithm for generating jazz solos. In: Proceedings of the 1994 international computer music conference, ICMA, pp 131–137
Brameier MF, Banzhaf W (2010) Linear genetic programming, 1st edn. Springer Publishing Company, Incorporated, Berlin
Chen CCJ, Miikkulainen R (2001) Creating melodies with evolving recurrent neural networks. In: Proceedings of the INNS-IEEE international joint conference on neural networks, IEEE, Piscataway, NJ, pp 2241–2246. http://nn.cs.utexas.edu/?chen:ijcnn01
Dahlstedt P (2007) Autonomous evolution of complete piano pieces and performances. In: 9th European conference on artificial life
De Prisco R, Zaccagnino G, Zaccagnino R (2011) A multi-objective differential evolution algorithm for 4-voice compositions. In: 2011 IEEE symposium on differential evolution (SDE), pp 1–8. doi:10.1109/SDE.2011.5952053
Dolin B, Arenas MG, Guervós JJM (2002) Opposites attract: complementary phenotype selection for crossover in genetic programming. In: Proceedings of the 7th international conference on parallel problem solving from nature, PPSN VII. Springer, London, UK, pp 142–152. http://dl.acm.org/citation.cfm?id=645826.669282
Donnelly P, Sheppard J (2011) Evolving four-part harmony using genetic algorithms. Applications of evolutionary computation, vol 6625. Springer, Berlin, pp 273–282
Dostál M (2012) Musically meaningful fitness and mutation for autonomous evolution of rhythm accompaniment. Soft Comput 16(12):2009–2026. doi:10.1007/s00500-012-0875-8
Eigenfeldt A (2009) The evolution of evolutionary software: intelligent rhythm generation in kinetic engine. In: EvoWorkshops, vol 5484. Springer, pp 498–507
Eigenfeldt A (2012) Corpus-based recombinant composition using a genetic algorithm. Soft Comput 16:2049–2056
Fonseca CM, Fleming PJ (1993) Genetic algorithms for multiobjective optimization: formulation, discussion and generalization. In: Proceedings of the 5th international conference on genetic algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, pp 416–423. http://dl.acm.org/citation.cfm?id=645513.657757
Ghosh A, Tsutsui S, Tanaka H (1996) Individual aging in genetic algorithms. In: Australian and New Zealand conference on intelligent information systems, 1996, IEEE, pp 276–279
Gibson P, Byrne J (1991) Neurogen, musical composition using genetic algorithms and cooperating neural networks. In: Second international conference on artificial neural networks, 1991, pp 309–313
Hartigan JA (1975) Clustering algorithms, 99th edn. Wiley, New York
Hartmann P (1990) Natural selection of musical identities. In: International computer music conference
Horner A, Goldberg DE (1991) Genetic algorithms and computer-assisted music composition. In: Belew RK, Booker LB (eds) ICGA. Morgan Kaufmann, Los Altos, pp 437–441
Horowitz D (1994) Generating rhythms with genetic algorithms. In: AAAI, vol 94, p 1459
Jacob B (1995) Composing with genetic algorithms. In: International Computer Music Association, pp 452–455
Loughran R, McDermott J, O’Neill M (2015) Grammatical evolution with Zipf’s law based fitness for melodic composition. In: Timoney J (ed) Proceedings of the 12th sound and music computing conference, Maynooth, Ireland
MacCallum RM, Mauch M, Burt A, Leroi AM (2012) Evolution of music by public choice. Proc Nat Acad Sci 109(30):12081–12086
Mahfoud SW (1995) Niching methods for genetic algorithms. Technical reports
Martins JM, Miranda ER (2007) Emergent rhythmic phrases in an A-Life environment. In: Proceedings of ECAL 2007 workshop on music and artificial life (MusicAL 2007), pp 11–14
McIntyre R (1994) Bach in a box: the evolution of four part baroque harmony using the genetic algorithm. In: Proceedings of the first IEEE conference on evolutionary computation, 1994. IEEE world congress on computational intelligence, vol 2, pp 852–857. doi:10.1109/ICEC.1994.349943
Miranda ER, Biles JA (2007) Evolutionary computer music. Springer-Verlag New York Inc., Secaucus
Nordin P, Banzhaf W (1995) Evolving Turing-complete programs for a register machine with self-modifying code. In: Proceedings of the 6th international conference on genetic algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, pp 318–327. http://dl.acm.org/citation.cfm?id=645514.657920
Nuanáin CÓ, Herrera P, Jorda S (2015) Target-based rhythmic pattern generation and variation with genetic algorithms. In: Proceedings of the 12th sound and music computing conference, Maynooth, Ireland
Phon-Amnuaisuk S, Tuson A, Wiggins G (1999) Evolving musical harmonisation. In: ICANNCA
Reddin J, McDermott J, O’Neill M (2009) Elevated pitch: automated grammatical evolution of short compositions. In: Giacobini M, De Falco I, Ebner M (eds) Applications of evolutionary computing. Lecture notes in computer science, vol 5484. Springer, Berlin, pp 579–584
Rodriguez JDF, Vico FJ (2013) AI methods in algorithmic composition: a comprehensive survey. J Artif Intell Res 48:513–582
Rummel RJ (1976) Understanding correlation. Department of Political Science, University of Hawaii, Honolulu
Sarma J, De Jong K (1997) Selection: generation gap methods. In: Back T, Fogel DB, Michalewicz Z (eds) Handbook on evolutionary computation. Institute of Physics Publishing and Oxford University Press, Bristol and New York, pp C2.7:1–C2.7:5
Stansifer R (2005) The MIDI file format. http://cs.fit.edu/~ryan/cse4051/projects/midi/midi.html
Sulyok C, McPherson A, Harte C (2015) Corpus-taught evolutionary music composition. In: Proceedings of the 13th European conference on artificial life, York, UK, pp 587–594
Thywissen K (1999) GeNotator: an environment for exploring the application of evolutionary techniques in computer-assisted composition. Organ Sound 4(2):127–133. doi:10.1017/S1355771899002095
Tokui N, Iba H (2000) Music composition with interactive evolutionary computation. In: Proceedings of the 3rd international conference on generative art, vol 17, pp 215–226
Towsey M, Brown A, Wright S, Diederich J (2001) Towards melodic extension using genetic algorithms. Educ Technol Soc 4(2):54–65
Unemi T (2002) SBEAT3: a tool for multi-part music composition by simulated breeding. In: Proceedings of the 8th international conference on artificial life, pp 410–413
Waschka RI (2007) Composing with genetic algorithms: GenDash. In: Miranda ER, Biles JA (eds) Evolutionary computer music. Springer, London
Whorley RP, Rhodes C, Wiggins G, Pearce MT (2013) Harmonising melodies: Why do we add the bass line first? In: International conference on computational creativity, Sydney, pp 79–86. http://research.gold.ac.uk/9795/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sulyok, C., McPherson, A. & Harte, C. Evolving the process of a virtual composer. Nat Comput 18, 47–60 (2019). https://doi.org/10.1007/s11047-016-9561-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11047-016-9561-6