Abstract
We present a new system for integrating evolvutionary processes with live coding. The system is built upon an existing platform called Extramuros, which facilitates network-based collaboration on live coding performances. Our evolutionary approach uses the Tidal live coding language within this platform. The system uses a grammar to parse code patterns and create random mutations that conform to the grammar, thus guaranteeing that the resulting pattern has the correct syntax. With these mutations available, we provide a facility to integrate them during a live performance. To achieve this, we added controls to the Extramuros web client that allows coders to select patterns for submission to the Tidal interpreter. The fitness of the pattern is updated implicitly by the way the coder uses the patterns. In this way, appropriate patterns are continuously generated and selected for throughout a performance. We present examples of performances, and discuss the utility of this approach in live coding music.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Rodriguez, J.D.F., Vico, F.J.: AI methods in algorithmic composition: a comprehensive survey. J. Artif. Intell. Res. 48, 513–582 (2013)
Unehara, M., Onisawa, T.: Composition of music using human evaluation. In: The 10th IEEE International Conference on Fuzzy Systems, 2001, vol. 3, pp. 1203–1206. IEEE (2001)
MacCallum, R.M., Mauch, M., Burt, A., Leroi, A.M.: Evolution of music by public choice. Proc. Nat. Acad. Sci. 109(30), 12081–12086 (2012)
McLean, A.: Making programming languages to dance to: live coding with Tidal. In: Proceedings of the 2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modeling and Design, pp. 63–70. ACM (2014)
Ogborn, D., Tsabary, E., Jarvis, I., Cardenas, A., McLean, A.: Extramuros: making music in a browser-based, language-neutral collaborative live coding environment. In: McLean, A., Magnusson, T., Ng, K., Knotts, S., Armitage, J. (eds.) Proceedings of the First International Conference on Live Coding, University of Leeds, ICSRiM, p. 300 (2015)
Aaron, S., Blackwell, A.F.: From Sonic Pi to overtone: creative musical experiences with domain-specific and functional languages. In: Proceedings of the first ACM SIGPLAN Workshop on Functional Art, Music, Modeling and Design, pp. 35–46. ACM (2013)
Wang, G., Fiebrink, R., Cook, P.R.: Combining analysis and synthesis in the ChucK programming language. In: Proceedings of the International Computer Music Conference, pp. 35–42 (2007)
Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, Dallas (2013)
O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language, vol. 4. Springer, New York (2012)
Pattee, H.H.: Cell psychology: an evolutionary approach to the symbol-matter problem. In: LAWS, LANGUAGE and LIFE. Springer, pp. 165–179 (2012)
Acknowledgements
This work was funded by the EU FP7 project EvoEvo, grant number 610427.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Hickinbotham, S., Stepney, S. (2016). Augmenting Live Coding with Evolved Patterns. In: Johnson, C., Ciesielski, V., Correia, J., Machado, P. (eds) Evolutionary and Biologically Inspired Music, Sound, Art and Design. EvoMUSART 2016. Lecture Notes in Computer Science(), vol 9596. Springer, Cham. https://doi.org/10.1007/978-3-319-31008-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-31008-4_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-31007-7
Online ISBN: 978-3-319-31008-4
eBook Packages: Computer ScienceComputer Science (R0)