Augmenting Live Coding with Evolved Patterns

  • Simon Hickinbotham
  • Susan Stepney
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9596)


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.


Evolutionary Algorithm Parse Tree Live Performance Musical Piece Mutable Node 
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 work was funded by the EU FP7 project EvoEvo, grant number 610427.


  1. 1.
    Rodriguez, J.D.F., Vico, F.J.: AI methods in algorithmic composition: a comprehensive survey. J. Artif. Intell. Res. 48, 513–582 (2013)MathSciNetzbMATHGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, Dallas (2013)Google Scholar
  9. 9.
    O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language, vol. 4. Springer, New York (2012)zbMATHGoogle Scholar
  10. 10.
    Pattee, H.H.: Cell psychology: an evolutionary approach to the symbol-matter problem. In: LAWS, LANGUAGE and LIFE. Springer, pp. 165–179 (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.YCCSAUniversity of YorkYorkUK

Personalised recommendations