These are my speaking notes from a keynote address I gave to the interdisciplinary doctoral program at the University of Saskatchewan, 14 April 2023. Now that it is posted here as part of my web garden, I will probably continue to lightly edit and update it, fill in missing links, etc, so it may depart to some extent from the text as delivered at the U of S.

Computer Music as Inter/Anti/Non-Disciplinary Research (14 April 2023)

by David Ogborn

Abstract: Drawing from my own work (in musical and audiovisual live coding, network music, and the development of artistic software), as well as from broader histories of musical and computational experimentation, I will explore ways in which computer music research inherently and inevitably involves interdisciplinary crossings – and how such crossings can lead to a further engagement with the possibility of anti- and non-disciplinary research.

  1. Introductory Remarks

  2. Live coding: platforms, languages, performances (alone and together)

2a. Live coding as practice: A provisional definition, just as a starting point, would be “programming with an audience, often to produce artistic results such as music, video, animation, choreography, etc.” I am interested in this practice from multiple standpoints, but above all because I think it represents a challenge to practices of opacity, of “black boxes”, within and beyond computational culture. Live coding performers put things together, take them apart, put them back together again in new ways, and make this assembly and reassembly (often improvised) something that is shared. [short live code improv]

2b. Live coding is also a movement: One might encounter it in Internet discussion forums (such as various Discord servers devoted to sharing information about live coding in general, or specific programming languages). One might encounter it in tutorials and workshops that live coding enthusiasts put on in a wide range of venues (schools and universities, galleries and artist run centres, libraries and community associations, etc). One might encounter it in performances, including performances in distinctive formats such as the “algorave” (cite Alex and Nick’s NIME article)… Even prior to the COVID-19 pandemic’s and the mass move of many artistic practices to online formats, one might have encountered live coding in global livestream events, where performers from around the world live code for a live, dispersed audience and also for a “long tail” audience of people who will watch the surviving documentation of such events long after they have happened.

Although I think it is rare for the “members” of the live coding movement to say so directly, it appears fairly clear to me that the implicit goal of live coding as a movement is to encourage more people to engage with live coding as a practice. Indeed, all of the above-mentioned sites for live coding practice seem to have a dynamic where yesterday’s audience member might easily become tomorrow’s featured performer. Christopher Kelty’s concept of a recursive public, originally advanced in connection with the free and open source software movement, is relevant here: one of the purposes of live coding activities appears to be enabling future live coding activities.

Live coding as a movement even has a manifesto, the TOPLAP manifesto, although it is I think understood in a tongue in cheek way by many. My favourite line from the TOPLAP manifesto is “show us your screens”, as I personally believe the practice of sharing one’s screen while creating is what is truly interesting, challenging, distinctive, and extensible about live coding as a practice.

2c. Beside live coding’s tentative solidification as a practice and a movement, it has a profile as a field of academic research. The earliest academic account that explicitly uses the word “live coding” is from 2003 [cite]. One could trace a longer lineage of implicit discussions of it, and I hope to do this one day. Live coding’s legibility as a field of research has been given a huge boost by the occurrence, almost annually since 2015, of the International Conference on Live Coding (ICLC), which built on the live.code.festival (2013, Karlsruhe, Germany) that, like the subsequent ICLC, featured academic presentations alongside an intense collection of artistic performances. Live coding, both as artistic performances and exhibitions, and in the form of written, research “accounts”, has appeared in special issues of Computer Music Journal (2014?) and Organised Sound (2023, forthcoming), and in a diaspora of international conferences such as the Web Audio Conference, the conference on New Interfaces for Musical Expression, and various conferences of the Association for Computing Machinery, and more. Personally I am more invested in the idea of live coding happening in many different places and fields than as its “own thing” but we will see what happens.

  1. Estuary is a project I have been deeply engaged with for the past 8 (?) or so years, that engages with these three registers of live coding (practice, movement, research). It’s a web-based platform for collaborative live coding whose most distinctive feature is that it enables and encourages a mixing of different “live-coding suitable” programming languages in the same settings… [MORE]

  2. A closely adjacent project to Estuary is the Punctual live coding language, which is a personal project (I am, intentionally, the sole contributor to its codebase) to create a live coding language that responds to what I see as two characteristic “dynamics” of live coding as a practice: (1) In live coding – especially musical live coding – it is common to want old and new versions of programs to continue to “run” alongside each other.

(2) Another dynamic of live coding is the way that it starts to present us with a unified interface to artistic and sensory results that, once upon a time, may have had distinct interfaces. The code to produce musical results with programming languages does not necessarily look so different from than that used to produce graphics, or anything else really. At a certain point quite early in Punctual’s evolution, I decided to make it a lanaguage that would target both sonic and visual results, with the latter in the form of fragment shaders

[DEMO: Punctual’s demo program.]

  1. I’m currently co-leading a team that is working on another live coding language: LocoMotion, which produces as its result 3D scenes of models, animations, and moevment… [MORE]

For the above-mentioned projects, at least as far as my contribution to them goes, a key form of research “output” or “deliverable” is software and software libraries, invariably released to the world as free and open source software. Alongside this almost daily work on building platforms and languages for artistic live coding, my research work also takes the form of performing live coding using such “tools”, often but not always with other people, and I’ll describe some of those situations now.

  1. The Cybernetic Orchestra is a laptop orchestra at McMaster University that meets weekly, during different parts of the year, to explore collective live coding practices. The group formed in early 2010, initially mostly undergraduate students in the Media Arts (then: Multimedia) program at McMaster, plus myself, and subsequently with graduate students, alumni, and other university staff and faculty. A key practice of the group has been an insistence that the group is “open” – a qualifier that is not meant to signal an imagined state of universal inclusion but rather more simply that the membership of the group is always changing, and that new people are always welcome to join us and “try it out”, without need of any specific prior experience or expertise. I’ve learned so much from, and with, all of the people who have spent some time together in the Cybernetic Orchestra. [PLAY an excerpt from 0xA album]

  2. I also do solo performances of live coding (much more infrequently than group improvisatory live coding, though). Most of these performances are ad hoc in nature, responding to some specific venue or moment in a completely improvised way. I try to make a point to not plan very much at all what I will do – most often I find I lack the time to plan anyway! Here’s an excerpt from one such almost completely unplanned performance, which was my contribution to one of those global livestreams put on by the live coding movement that I mentioned earlier. The livestream was organized to coincide with the Winter solstice so I thought an image of the planet from space (found at Wikimedia commons) might be an appropriate starting point. Another starting point was the idea that I would do a solo live coding performance using two languages “at the same time”, my own Punctual and the well-known TidalCycles language. I probably also selected the “Casio” samplebank in advance (I don’t remember for sure) but apart from these three starting points, absolutely nothing else about the performance would have been planned: [EXCERPT from solstice live coding improv]

  3. Although its most common for such solo performances to be completely improvised, I do have two long-term artistic pieces I am developing that, while still involving improvisation, involve the careful preparation of materials over a longer term. One is a piece called daem0n, where I play electric guitar in a duo with a generative live coding agent. I wouldn’t call the agent an AI because the reality is the algorithms used in the piece have always been quite crude (sometimes random walks through combinatorial possibilites, sometimes simple machine listening to my guitar playing) – but I think it still engages with what we might think of as the “theatre of AI”. In all versions of the piece, the agent is forced to spell out their musical “intentions” via live coding. Its been a while now since I have returned to this piece, but I still consider it a living piece, a going concern, inspired in part by the example of George E. Lewis and his piece Voyager, an “environment” in which improvising musicians play along with a computer system that is also listening and making choices, an environment that Lewis cultivated and developed over decades. [citation] [play an excerpt]

  4. parad1se, by contrast, is a solo live coding piece that I am in the earliest phases of conceiving and collecting materials for. The idea is to semi-regularly, over decades, perform meditative solo live coding performances using sounds, photos, and videos gathered from the area between McMaster University and my home in the nearby town of Dundas – an area commonly known as Cootes Paradise. At the center of the paradise is a smaller body of water separated by a large sandbar from Hamilton Harbour, itself a separation off from Lake Ontario. When we acknowledge the land at McMaster, we often refer to the Dish With One Spoon Wampum agreement, an agreement between the Mississauga and the Haudenosaunee to peaceably and equitably share the land. My colleague at McMaster Daniel Coleman (English and Cultural Studies) has written a beautiful book called Yardwork interrogating the history and nature of the specific place where we both live, around Cootes Paradise, and at one point he suggests that Cootes Paradise embodies the Dish With One Spoon. One of the specific challenges I hope to explore in the piece is to cultivate strategies for improvising with photo and video imagery while preserving the colours of the imagery but not necessarily the shapes, a kind of symbolic resistance of the way that generative visual art aesthetics often privilege a kind of “universal” or “neutral” colour space, a privileging that I see as an extension of the universality/neutrality of computer display technologies, built upon a harvesting of rare minerals and materials from different corners of the globe, often under difficult or exploitive circumstances. The plan is for there to be a simple website that collects key information and resources, as the piece evolves over the next 20 years or so. In proposing a piece of this length of development, I think I am exercising one of the privileges and also responsibilities of being a tenured faculty member – to use the relative security of the job to think and do things at larger time scales than the usual next month, next year, next 5 years…

  5. Speaking of large time scales, I should say that all of the above-mentioned projects in some or other way, connect with the laboratory I coordinate at McMaster, the Networked Imagination Laboratory (NIL). Designed around live coding practice and research, the two main things the NIL provides are a large array of discretely addressable loudspeakers (nominally 86, although we will occasionally add more) and 4 video walls for displaying code and visual results in such a way that they are visible from different places and angles within the room. The space was created with funding from the Canada Foundation for Innovation and Ontario’s Ministry of Research and Innovation, and one of my concerns is to ensure that this unusual and large investment in this unusually large “instrument” – a bit like the digital audio version of some huge cathedral organ from the middle ages – unfolds its cultural and educational impact in a good way over decades.

  6. To finish out this overview of the research I’m engaged in now: I’ve started to engage more and more each year with games research and practice. For a while, I’ve been teaching a game design course in our undergrad media arts program for some time now, and through that have come into increasing contact with the field of game studies research, as a reader or “consumer” of that research. More recently, whether because of the disruption of the pandemic or at least facilitated by it, I’ve started attending the annual conferences of the Canadian Game Studies Association, which now take place entirely online on an ongoing basis. In the next two months I’ll give my first foray into game studies as a writer/presenter, with a paper about the classic real-time strategy (RTS) game Total Annihilation – I’m particularly interested in the way this game had an afterlife as a series of not-totally-unsuccessful free and open source software game projects. In the longer term, I am interested to continue to develop research on games as improvisation – this summer in the Networked Imagination Laboratory, I’m launching another group like the Cybernetic Orchestra but focused on the improvisation of game making – a group that regularly meets and makes games very quickly, using free and open source software tools. Since we’ll use the Godot game engine (a great free and open source game engine), the group is going to be called “not waiting for Godot”.

Hopefully this overview has given a bit of a sense of the scope of my research is in the present and near future tense – I want to shift now to giving an account of the personal experiences and wider histories in which this work is grounded, in the hope that this account will move us towards considering the way that interdisciplinarity happens in such pathways.

Experiences and Histories

  1. I think the earliest experiences that, in some way, led me to be doing the work I am now doing came when was between the ages of 5 and 12 (or so) and can be divided into what, at the time, seemed liked two bins: one to do with music (but really: sound) and the other to do with computers. To start with music (but really: sound): I can remember spending long hours playing around, as a kid living in Australia, with a Casio keyboard synthesizer that had a very limited palette of nonetheless unusual and attractive sounds. At around the same time, I remember “noticing” the intriguing sensation of the distorted guitar, through my parents’ collection of rock/heavy metal recordings (Led Zeppelin and Uriah Heep mostly) – and I distinctly remember my early adolescent discovery that I too could make such sounds, at first in the form of plugging my father’s steel string acoustic guitar, with a pickup, into this home stereo amplifier we had that had preamplifier gain controls that could easily be moved into the realm of overdrive. Three or more decades later, I realize I have spent an unusual amount of time making and seeking out intense, visceral sounds via either synthesizers or guitars, and that is probably both (a) because such sounds “do something for me” on a relatively low, physiological and neurological level, and (b) my attraction to such sounds, particularly the more intense and more visceral possibilities, is far from something universally shared by other people – it may represent a kind or aspect of neurodivergence. [further comment about complex causality of research actions, Haraway]

  2. The other bin of important childhood experiences has to do with computing, and with the home computers of the 1980s in particular. The first computer I used on a long-term basis was a TRS-80 Color Computer 2, distributed in Canada by Radio Shack, and essentially a cheaper, more widely available of the somewhat more prestigious Commodore 64. Just like the Commodore 64, the Coco2 was a computer that, when you plugged it into your home television set, you were greeted by a blinking programming interface. I spent the rest of my childhood trying to program games on it, and at some point discovered I enjoyed programming as much as – more than, really - the games. But my point here is really to say that from the mid 1980s onwards I had this very specific experience that involved a nexus of imaginary, “aspirational” games for relatively easy access (for the time) computers that came with an expectation they would be programmed by “end users”.

  3. Music and programming would be disconnected obsessions throughout the rest of my childhood and early adolescence. When I started university it was a real question whether I would do one or the other, and music (in the form of a music education program with a strong jazz emphasis in North Dakota) won out, on the strength of the collaboration and relationships I had already formed as a high school student within a certain jazz milieu, a relational, social process that just didn’t seem to exist for computer science where I was (at least I had no contact with such an equivalent). Although my training as a music educator and performer had such a strong jazz flavour to it, the word jazz appears almost nowhere on my CV and only very tangentially on an old undergrad transcript, a partial erasure I am now increasingly uncomfortable with (and I don’t just mean my CV, also more generally the ways I’ve gotten used narrating my academic self). It’s like at a certain point in my studies, jazz and what I had learned from it was no longer named, even as I continued and continue to benefit from the exposure to those specific improvisatory forms, born out of the experiences and gifts of Black people in the Americas, primarily. Now that I think of it, I think I will start to rectify this particular erasure that at the earliest opportunity by adding contextual information to my CV that both specifically mentions the key mentors of my undergrad years, and the word jazz.

  4. The “aha” moment in which I realized I could do music and computing came in mid to late 1998. I was studying music composition, in a further undergrad degree at the University of Manitoba, and two things happened – one kind of accidental, the other more or less inevitable. The accidental thing was that I happened upon a poster on a wall advertising the existence of the Canadian Electroacoustic Community or CEC, and the existence of the CEC’s email listserv. [MORE] The more or less inevitable thing was that I became involved with the world of free and open source software, and the Linux operating system, then circulating with enthusiasm over recently domesticated Internet channels. I learned that there were programming languages for music and sound, that they had long histories, and that – most radical of all – I, barely out of my teenage years, could contribute to their further development and evolution, then and there in publicly/socially legible ways. I glommed onto Csound in particular [MORE] … I studied its source code, and was eventually able to make small contributions. It was at this time that I read through all of the back issues of Computer Music Journal in the U of Manitoba library, also.

  5. Nono, music and politics, live electronics, Metropolis

  6. Laptop orchestras [parenthesis about NIME as a splinter from a computing conference] (Stanford is also one of very few places in the world where Computer Music almost appears in the name of a PhD program)

  7. Returning to the live coding movement for a moment...: Live coding as a contested term: mainstream computing vs live coding movement (Prevalence of musical demos in early electronic computing?)

  8. It would be irresponsible of me not to acknowledge the role played in this “interdisciplinary path” by my academic department, the Department of Communication Studies and Media Arts at McMaster University, which at the time I was hired (2009) was called the Department of Communication Studies and Multimedia. Our department delivers an MA program called Communication and New Media, and also a PhD program called Communication, New Media and Cultural Studies (in collaboration with another department: English and Cultural Studies). The proliferation of “ands” in the titles here is the symptomatic tip of a deeper iceberg of disciplinary crossings. When I first started at McMaster, it was ostensibly to fill a gap in the teaching of audio production to Media Arts students, but the disciplinary hybridity of the program, the department, and its adjacent context in the University have all been things that have helped and encouraged me to learn and develop beyond what I was originally “hired to do”. Not all academic environments encourage this, and I am beyond grateful to be able to spend so much time in one that does. Together with the LocoMotion team (the project with a live coding language focused on 3D models and motion), I am giving a paper at the Canadian Communications Association this summer, which is something I don’t think 2009 me would have predicted, but which is surely a consequence of sharing an academic environment for over a decade with people with longstanding commitments to Communication Studies.

Inter/Anti/Non-Disciplinary Research

  1. I never really know what to call my field, how to label my work. I’ve put the phrase “computer music” in my title today, but I think it functions as more of a decently general entry point than it does an umbrella or container for things. So many of the things I’ve discussed would never appear in Computer Music Journal for all of its merits. Sometimes instead of being asked what one’s field is, one is asked or allowed to state what one “is”, as a matter of professional identity. Here I can chart a chain of terms: Musician / Composer / Sound Artist / Media Artist / Artist Researcher / Artist Programmer... the latter term comes from Alex McLean (2011) and is one I am particularly fond of for how it points very directly to a presumed interdisciplinary crossing. At various moments, I choose other labels for the work. Sometimes very specific: live coding, network music, real-time strategy games, spatial audio. At other times, very general: media arts, computational play, computational improvisation...

  2. There is a kind of dialogue about interdisciplinarity at the university, in the world of the research, that I am very suspicious of: it is where interdisciplinarity involves a bringing together – particularly in a very bureaucratic, top-down way – people with different presumed expertise. This reifies the things it brings together and I think ultimately limits the types of things people will come up with and do. An alternative to that kind of interdisciplinarity would be one where people are encouraged to develop themselves beyond presumed disciplinary boundaries. In many ways, I’ve been privileged to be able to do this at different stages of my academic career, and I’m increasingly on the lookout for ways to share that privilege with others. In funded research projects that can perhaps look like allowing people, to some extent, to explore pathways in the research that go outside of the expertise or background for which they were hired. There’s more scope for this the more the research projects are themselves understood as open to unforeseen outcomes – directions and trajectories rather than results, questions more than answers, beginnings or continuations more than ends...

I think this kind of approach might be labelled anti-disciplinary or non-disciplinary rather than inter-disciplinary, but like labeling one’s field, I am aware that these also are just labels. The anti-disciplinary perhaps names those moments in research where one actively opposes a disciplinary boundary (such as the idea that visual art should be left to visual artists with degrees in visual art). The non-disciplinary perhaps names an alternative in which the “disciplines” are simply ignored and not brought up.

  1. The anti- or non-disciplinary variation of interdisciplinary work brings big challenges in the moments in which people are assembled, whether as virtual interlocutors in a bibliography or a set of citations, or as actual collaborators in a new project that is being launched. The temptation to think of those people as bringing a specific defined quantity from some specific defined field is large because, in general, we “the university” “the research world” are so much in the habit of relying on the field labels, and the inherent metrics of isolated fields, as proxies for what an individual (or the trace of their work) might contribute to new work. Inter/anti/non-disciplinary work thrives in various ways, and not just in the margins of the university; nonetheless, so many of our practices remain resolutely disciplinary.

  2. A component of academic/research service can be rethinking how all kinds of processes work. Could we include different information in CVs to reflect a new or greater value placed on relational and process outcomes? In distributing grants – so applying for them and adjudicating them – could we apply ever greater skepticism to the illusory promise of definite results? In proposing lectures and classes or speaker series or conferences, even within (or departing from) highly disciplinary spaces, could we propose them in ways that ignore or oppose disciplinary boundaries in order to pay renewed attention to people and the world? I think the answer to all these questions is yes, and it points to a complex interface where small everyday decisions might transform the space in which we all work.

Bibliography

Wendy Hui Kyong Chun (2017). Updating to Remain the Same: Habitual New Media. MIT Press.

Daniel Coleman (2017). Yardwork: A Biography of an Urban Place. James Street North Books, Hamilton.

Collins, Nick & Mclean, Alex & Rohrhuber, Julian & Ward, Adrian. (2003). Live coding in laptop performance. Organised Sound 8:3, pp. 321-329. 10.1017/S135577180300030X.

Nick Collins and Alex McLean (2014). “Algorave: Live Performance of Algorithmic Electronic Dance Music.” Proceedings of International Conference on New Interfaces for Musical Expression (NIME), London, UK. https://www.nime.org/proceedings/2014/nime2014_426.pdf

Jacques Derrida (1998). Monolingualism of the Other: or, The Prosthesis of Origin. trans. Patrick Mensah. Stanford University Press.

Haraway, Donna J. (2016). Staying with the Trouble: Making Kin in the Chthulucene. Duke University Press.

Christopher M. Kelty (2008). Two Bits: The Cultural Significance of Free Software. Duke University Press.

George E. Lewis (2000). “Too Many Notes: Complexity and Culture in Voyager.” Leonardo Music Journal 10, pp. 33-39.

Alex McLean (2011). Artist Programmers and Programming Languages for the Arts. PhD Thesis, Goldsmiths College, University of London.

Boisy G Pitre, Bill Loguidice (2013). CoCo: The Colorful History of Tandy’s Underdog Computer. CRC Press.

Julian Rohrhuber, Alberto de Campo, and Renate Wieser (2005). "Algorithms Today: Notes on Language Design for Just in Time Programming." Proceedings of the International Computer Music Conference.

Smith, R. Lawson, S. (2018) “Rogue Two: Reflections on the Creative and Technological Development of the Audiovisual Duo—The Rebel Scum.” Journal of Electronic Dance Music Culture 10:1, pp. 63-82, DOI: https://dj.dancecult.net/index.php/dancecult/article/view/1026/946