The ChucK Audio Programming Language

TitleThe ChucK Audio Programming Language
Publication TypeThesis
Year of Publication2008
AuthorsWang, G.
UniversityPrinceton University
Keywordsaudio, ChucK, ge wang, phd thesis, programming language

This thesis argues for the philosophy, design, and development of ChucK, a general-purpose programming language tailored for computer music. The goal is to create a language that is expressive and easy to write and read with respect to time and parallelism, and to provide a platform for precise audio synthesis/analysis and rapid experimentation in computer music. In particular, ChucK provides a syntax for representing information flow, a new time-based concurrent programming model that allows programmers to flexibly and precisely control the flow of time in code (we call this "strongly-timed"), and facilities to develop programs on-the-fly - as they run. A ChucKian approach to live coding as a new musical performance paradigm is also described. In turn, this motivates the Audicle, a specialized graphical environment designed to facilitate on-the-fly programming, to visualize and monitor ChucK programs in real-time, and to provide a platform for building highly customizable user interfaces.