Augmenting Computer Music with Just-In-Time Compilation

We discuss the potential of just-in-time compilation for computer music software to evade compromises of flexibility and efficiency due to the discrepancies between the respective natures of composition and computation and also to augment exploratory and generative capacity. We present a range of examples and approaches using LLVM compiler infrastructure within the LuaAV composition environment and measure its performance against static compilation.

[1]  Michael Steffen Oliver Franz,et al.  Code_generation On_the_fly: a Key to Portable Software , 1994 .

[2]  Stefania Serafin,et al.  Proceedings of the International Computer Music Conference , 2007 .

[3]  David Zicarelli How I Learned to Love a Program That Does Nothing , 2002, Computer Music Journal.

[4]  Graham Wakefield,et al.  Computational Audiovisual Composition Using Lua , 2008 .

[5]  Vikram S. Adve,et al.  The LLVM Compiler Framework and Infrastructure Tutorial , 2004, LCPC.

[6]  Nick Collins,et al.  The Analysis of Generative Music Programs , 2008, Organised Sound.

[7]  Ben Shneiderman,et al.  Creativity support tools: accelerating discovery and innovation , 2007, CACM.

[8]  Gerhard Fischer,et al.  Meta-design , 2004, Commun. ACM.

[9]  Fabio Mascarenhas,et al.  Efficient compilation of Lua for the CLR , 2008, SAC '08.

[10]  James McCartney,et al.  Rethinking the Computer Music Language: SuperCollider , 2002, Computer Music Journal.

[11]  Roberto Ierusalimschy,et al.  The evolution of Lua , 2007, HOPL.

[12]  Nick Collins,et al.  Live coding in laptop performance , 2003, Organised Sound.

[13]  Gerhard Fischer,et al.  Creativity and evolution: a metadesign perspective , 2008, Digit. Creativity.

[14]  Owen R. Mock,et al.  The problem of programming communication with changing machines: a proposed solution , 1958, CACM.

[15]  Ralph E. Johnson,et al.  An interactive environment for object-oriented music composition and sound synthesis , 1988, OOPSLA '88.

[16]  Julian Rohrhuber,et al.  Algorithms Today: Notes on Language Design for Just in Time Programming , 2005, ICMC.