ABSTRACT
Live coding of music has grown into a vibrant international community of research and practice over the past decade, providing a new research domain where computer science blends with the performing arts. In this paper the domain of live coding is described, with focus on the programming language design challenges involved, and the ways in which a functional approach can meet those challenges. This leads to the introduction of Tidal 0.4, a Domain Specific Language embedded in Haskell. This is a substantial restructuring of Tidal, which now represents musical pattern as functions from time to events, inspired by Functional Reactive Programming.
- S. Aaron, A. F. Blackwell, R. Hoadley, and T. Regan. A principled approach to developing new languages for live coding. In Proceedings of New Interfaces for Musical Expression 2011, pages 381--386, 2011.Google Scholar
- B. Bel. Rationalizing musical time: syntactic and symbolic-numeric approaches. In C. Barlow, editor, The Ratio Book, pages 86--101. Feedback Studio, 2001.Google Scholar
- R. Bell. An Interface for Realtime Music Using Interpreted Haskell. In Proceedings of LAC 2011, 2011.Google Scholar
- A. Blackwell, A. McLean, J. Noble, and J. Rohrhuber. Collaboration and learning through live coding (Dagstuhl Seminar 13382). Dagstuhl Reports, 3 (9): 130--168, 2014. http://dx.doi.org/10.4230/DagRep.3.9.130. URL http://drops.dagstuhl.de/opus/volltexte/2014/4420.Google Scholar
- M. Clayton. Time in Indian Music: Rhythm, Metre, and Form in North Indian Rag Performance (Oxford Monographs on Music). Oxford University Press, USA, Aug. 2008. ISBN 0195339681. URL http://www.worldcat.org/isbn/0195339681.Google Scholar
- N. Collins and A. McLean. Algorave: A survey of the history, aesthetics and technology of live performance of algorithmic electronic dance music. In Proceedings of the International Conference on New Interfaces for Musical Expression, 2014.Google Scholar
- N. Collins, A. McLean, J. Rohrhuber, and A. Ward. Live coding in laptop performance. Organised Sound, 8 (03): 321--330, 2003. 10.1017/s135577180300030x. URL http://dx.doi.org/10.1017/s135577180300030x. Google ScholarDigital Library
- C. Elliott. Push-pull functional reactive programming. In Proceedings of 2nd ACM SIGPLAN symposium on Haskell 2009, 2009. Google ScholarDigital Library
- T. R. G. Green. Instructions and descriptions: some cognitive aspects of programming and similar activities. In AVI '00: Proceedings of the working conference on Advanced visual interfaces, pages 21--28, New York, NY, USA, 2000. ACM. ISBN 1-58113-252-2. 10.1145/345513.345233. URL http://dx.doi.org/10.1145/345513.345233. Google ScholarDigital Library
- T. Hall. Towards a Slow Code Manifesto. Published online; http://www.ludions.com/slowcode/, Apr. 2007.Google Scholar
- P. Hession and A. McLean. Extending Instruments with Live Algorithms in a Percussion / Code Duo. In Proceedings of the 50th Anniversary Convention of the AISB: Live Algorithms, 2014.Google Scholar
- T. Magnusson. ixi lang: a SuperCollider parasite for live coding. In Proceedings of International Computer Music Conference 2011, 2011.Google Scholar
- J. McCartney. Rethinking the Computer Music Language: SuperCollider. Computer Music Journal, 26 (4): 61--68, 2002. URL http://www.mitpressjournals.org/doi/abs/10.1162/014892602320991383. Google ScholarDigital Library
- A. McLean and H. Reeve. Live Notation: Acoustic Resonance? In Proceedings of International Computer Music Conference, pages 70--75, 2012.Google Scholar
- A. McLean and G. Wiggins. Tidal - Pattern Language for the Live Coding of Music. In Proceedings of the 7th Sound and Music Computing conference 2010, pages 331--334, 2010.Google Scholar
- A. McLean, D. Griffiths, N. Collins, and G. Wiggins. Visualisation of Live Code. In Proceedings of Electronic Visualisation and the Arts London 2010, pages 26--30, 2010. Google ScholarDigital Library
- A. McLean, J. Rohrhuber, and N. Collins. Special issue on Live Coding: Editor's notes. Computer Music Journal, 38 (1), 2014.Google Scholar
- C. Nash and A. F. Blackwell. Tracking virtuosity and flow in computer music. In Proceedings of International Computer Music Conference 2011, 2011.Google Scholar
- D. Ogborn. Live coding in a scalable, participatory laptop orchestra. Computer Music Journal, 38 (1): 17--30, Mar. 2014. 10.1162/comj_a_00217. URL http://dx.doi.org/10.1162/comj_a_00217. Google ScholarDigital Library
- M. Puckette. The Patcher. In Proceedings of International Computer Music Conference 1988, pages 420--429, 1988.Google Scholar
- K. Sicchio. Hacking Choreography: Dance and Live Coding. Computer Music Journal, 38 (1): 31--39, Mar. 2014. 10.1162/comj_a_00218. URL http://dx.doi.org/10.1162/comj_a_00218. Google ScholarDigital Library
- J. A. Smith. Reflecting on the development of interpretative phenomenological analysis and its contribution to qualitative research in psychology. Qualitative Research in Psychology, 1 (1): 39--54, Jan. 2004. 10.1191/1478088704qp004oa. URL http://dx.doi.org/10.1191/1478088704qp004oa.Google Scholar
- A. Sorensen. Impromptu: An interactive programming environment for composition and performance. In Proceedings of the Australasian Computer Music Conference 2005, pages 149--153, 2005.Google Scholar
- L. Spiegel. Manipulations of Musical Patterns. In Proceedings of the Symposium on Small Computers and the Arts, pages 19--22, 1981.Google Scholar
- H. Thielemann. Live-Musikprogrammierung in Haskell. CoRR, abs/1202.4269, 2012.Google Scholar
- G. Wang and P. R. Cook. On-the-fly programming: using code as an expressive musical instrument. In Proceedings of New interfaces for musical expression 2004, pages 138--143. National University of Singapore, 2004. Google ScholarDigital Library
Index Terms
- Making programming languages to dance to: live coding with tidal
Recommendations
CO/DA: Live-Coding Movement-Sound Interactions for Dance Improvisation
CHI '22: Proceedings of the 2022 CHI Conference on Human Factors in Computing SystemsWe present a performance-led inquiry that involved a live coder programming movement-based interactive sound and two dance improvisers. During two years of collaboration, we developed a joint improvisation practice where the interactions between the ...
From sonic Pi to overtone: creative musical experiences with domain-specific and functional languages
FARM '13: Proceedings of the first ACM SIGPLAN workshop on Functional art, music, modeling & designDomain Specific and Functional languages provide an excellent linguistic context for exploring new forms of music notation -- not just for formalising compositions but also for live interaction workflows. This experience report describes two novel live ...
A livecoding semantics for functional reactive programming
FARM 2016: Proceedings of the 4th International Workshop on Functional Art, Music, Modelling, and DesignLivecoding, while extremely powerful for the arts and beyond, has largely had its semantics tied to pervasive direct mutation of state. For the most part, livecoders have not been able to take full advantage of declarative programming, particularly ...
Comments