Live Coding Practice
Total Page:16
File Type:pdf, Size:1020Kb
Proceedings of the 2007 Conference on New Interfaces for Musical Expression (NIME07), New York, NY, USA Live Coding Practice Click Nilson University of Sussex Department of Informatics Falmer, Brighton, BN1 9QH +44 (0)1273 877837 [email protected] ABSTRACT I wish to discuss the practice of live coding, not only as an area of investigation and activity, but also in the sense of Live coding is almost the antithesis of immediate physical actually practising to improve ability. I shall describe the musicianship, and yet, has attracted the attentions of a number results of a month long experiment where live coding was of computer-literate musicians, as well as the music-savvy undertaken every day in an attempt to cast live coding as akin programmers that might be more expected. It is within the to more familiar forms of musical practice. context of live coding that I seek to explore the question of practising a contemporary digital musical instrument, which is Exercises will be discussed that may be found efficacious to often raised as an aside but more rarely carried out in research improve live coding abilities. In relation to these, literature (though see [12]). At what stage of expertise are the members from developmental and educational psychology (both of of the live coding movement, and what practice regimes might music and computing), and theories of expertise and skill help them to find their true potential? acquisition, were consulted. The possibility of expert performance [7] in live coding is discussed. Keywords I should state at the outset that I will be focusing primarily on Practice, practising, live coding one particular form of live coding in this paper, that of programming a computer on a concert platform as a performance act, often as an unaccompanied soloist. I will not 1. INTRODUCTION treat cases of those interactive explorations, outside of Rather than the composer-pianists of the 19th century, the realtime audience environments, enabled by interpretative 21st century is seeing a rise of composer-programmers, who programming languages and collaborative coding, interesting can explore electronic music through its natural tool, the as these are [13] (Julian Rohrhuber: ‘To me (personally, not as computer, even in live performance situations. With the an observer) live coding is about conversation and computer such a ubiquitous feature of modern life, art which experimentation only. The only way to "practise" conversation confronts its mechanisms and processes has great is to converse’ [personal communication]). Instead, the contemporary relevance. In this respect, live coding, the art of emphasis is on that situation which demands potentially the programming a computer under concert conditions, can enable greatest cognitive load, and hence is of great subsidiary a novel engagement with the notions of algorithm, and the interest as a compositional constraint, psychological test, and mapping from code to musical resultant [4, 20]. Since the end-user programming study [2]. computer is the instrument practised most readily by computer musicians, why not let this programming practice become the 1. THE BATTLEGROUND: BURNT FROM basis of new performance practice side stepping the heritage of gestural acoustic instruments? Live coding provides an EXPERIENCE alternative opportunity to keep the human being involved in By way of setting the scene and highlighting the challenges live electronic music. implicit in live coding, I shall try to be brutally honest concerning three concerts I found myself participating in. The Live coding has attracted a certain amount of press (see [1,3], first two were dubbed as sporting duels, couched in such hard and the hornet’s nest of slashdot commentaries on [9]), some hitting description as ‘13 rounds of hard typing action till of it bad, and certainly raises controversies, from those of Code Out; For the World Programming Federation physicality and immediacy, to obscurantism and Fingerweight Belt (Turingsberry rules apply)’. Such public intellectualism. Certain aspects of the physical question contests show some (lighthearted) affinity with Ancient Greek related to practice and automaticity will be tackled later in this dialectics, the slow public mathematical competitions of paper, but my primary focus will avoid such debates (and I Renaissance Italy (solving the cubic equation (Fior vs would argue that a New Interface for Musical Expression does Tartaglia (1535), Tartaglia vs Ferrari (1548)); the meetings of not have to rely on an overtly physical central substruct to be piano virtuosi (Mozart vs Clementi, Beethoven vs everyone); expressive in human music making). chess (Kasparov versus Deep Blue?) and in literature, Hermann Permission to make digital or hard copies of all or part of this work Hesse’s The Glass Bead Game. for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that In the first concert, the ‘Battle of the Belge’ (Dorkbot Ghent, copies bear this notice and the full citation on the first page. To copy May 21st 2005), I struggled against Alex McLean, who at the otherwise, or republish, to post on servers or to redistribute to lists, time was live coding with his own Perl system. This was requires prior specific permission and/or a fee. possibly the better of my two professional fights, and in truth Nime’07, New York. we contestants were conspiring in some rounds. Whilst exploring certain algorithmic musical devices we otherwise Copyright remains with the author(s). could not have navigated, we were both disappointed in the 112 Proceedings of the 2007 Conference on New Interfaces for Musical Expression (NIME07), New York, NY, USA level of actual original coding achieved during the bout, for though they may also become obsessively involved. This may we fell back on certain presets and tricks too frequently. reflect the situation for many live coders. In contrast, John Sloboda has noted the compromise required in teenage skill The second concert saw me take on that fearsome inventor of development for classical musicians: ‘rapid progress is often ChucK, Ge Wang [19], in the ‘Battle of Barcelona’ (off-ICMC, th achieved only by repetitive practice far in excess of what is 7 September 2005). Due to a build-up before the bout, and pleasant or intrinsically rewarding’ [16, p.225]. amusingly partisan SuperCollider and ChucK crowds, the audience’s expectations were somewhat at odds to our own How much deliberate practice have live coders been engaging preparations. We found it hard to ‘fight’ in the way that had in anyway? The standard is set by those hard working classical become expected, and missed many tricks that would have musicians: professional violinists will typically have done suited the occasion (such as fast coding of snippets for trading 10000 hours of practice by the age of 20 [5, p.183]; since the chops, or the ‘code out’ ending of deliberate coded crash). In authors also note that music education before the age of ten an ICMC panel on interaction the next day, David Wessel should consist mainly of fun and sociable informal lessons, accurately observed that there was a lot of extra musical with intense practice commencing in teenage years, that might content, and was skeptical (like many of us) about the depth of work out at around three hours a day consistently over 10 programming possible under pesky realtime constraints. years. Sloboda [15] gives a figure of 7000 hours of dedicated practice by the age of 18 by the better violinists in an academy In general, my disappointment after these two events might be compared to half that for those rated by the teachers more traced to some idealism concerning the level of musical likely to remain amateur. coding achievable in front of an audience. Despite a week of daily practice ahead of the Barcelona bout, I was left feeling From an email survey of prominent live coders, the number of unresolved whether improved practice procedures might assist hours of dedicated practice that seems to have been undertaken with the general facility of live coding. works out at around 100. Considering the number of hours spent practicing so far as an indication of grading with respect In contrast, the third concert was an experimental theatre th to [15, p.400, fig. 1], on this basis live coders in general might performance interlude in an audiovisual tour (Brisbane, 7 be at ABRSM Grade 2 or 3 (out of a possible 8, and not July 2006), which slid by with some small live coding including further diploma exams).1 adventure, but was not overly dramatic nor incisive. Sharing the bill, however, was aa-cell, an Australian duo (Andrew Of course, there are other sorts of relevant activity – many Brown and Andrew Sorensen) who live code using the thousands of hours of general programming experience for Impromptu system based on the Scheme language [3, 17]. I some individuals, and many live coders also have extensive found myself highly impressed with the Andrews’ framework instrumental experience. Thus, depending on the for improvisation in concert. A week or so later I was able to transferability of general programming skills to live coding, see them repeat the concert, with similar success, and sufficient some may be post Grade 8. Yet the specialization of expert variation, to convince me of its improvisational lucidity. skills can lead to difficulties in transference [14, 18]; in some Whilst the algorithmic engagement was still somewhat weak cases, the cognitive task of live coding may be sufficiently compared to my idealistic stance, the careful balance of novel to undermine conventional programming experience, precoded structures (particularly used at the beginning to forming its own alternative software engineering skill. Live cover initial set-up times) and on-the-fly construction within a coding can demand producing functioning code to a strict musical form, were the best I’d seen.