Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
On-the-fly programming: using code as an expressive musical instrument
NIME '04 Proceedings of the 2004 conference on New interfaces for musical expression
Rethinking the Computer Music Language: SuperCollider
Computer Music Journal
Creating a network of Integral Music Controllers
NIME '06 Proceedings of the 2006 conference on New interfaces for musical expression
MarsyasX: multimedia dataflow processing with implicit patching
MM '08 Proceedings of the 16th ACM international conference on Multimedia
Programming mixed music in ReactiveML
Proceedings of the first ACM SIGPLAN workshop on Functional art, music, modeling & design
Game programming by demonstration
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
A synchronous embedding of Antescofo, a domain-specific language for interactive mixed music
Proceedings of the Eleventh ACM International Conference on Embedded Software
Hi-index | 0.01 |
In this paper, we describe ChucK - a programming language and programming model for writing precisely timed, concurrent audio synthesis and multimedia programs. Precise concurrent audio programming has been an unsolved (and ill-defined) problem. ChucK provides a concurrent programming model that solves this problem and significantly enhances designing, developing, and reasoning about programs with complex audio timing. ChucK employs a novel data-driven timing mechanism and a related time-based synchronization model, both implemented in a virtual machine. We show how these features enable precise, concurrent audio programming and provide a high degree of programmability in writing real-time audio and multimedia programs. As an extension, programmers can use this model to write code on-the-fly -- while the program is running. These features provide a powerful programming tool for building and experimenting with complex audio synthesis and multimedia programs.