
Ge Wang will present his preFPO on Friday February 16 at 2:00pm in Room 402. The members of his committee are: Perry Cook, advisor; Paul Lansky (Music) and Roger Dannenberg (CMU), readers; Andrew Appel and Brian Kernighan, non-readers. Everyone is invited to attend his talk. His abstract follows below. ------------------------------------- The ChucK Audio Programming Language ("A Strongly-timed and On-the-fly Environ/mentality") The computer has long been considered an extremely attractive tool for creating, manipulating, and analyzing sound. Its precision, possibilities for new timbres, and potential for fantastical automation make it a compelling platform for expression and experimentation - but only to the extent that we are able to express to the computer what to do, and how to do it. To this end, the programming language has served, perhaps, as the most general, and yet most precise and intimate interface between humans and computers. Furthermore, "domain-specific" languages can bring additional expressiveness, conciseness, and perhaps even different ways of thinking to the domain (e.g. sound synthesis). This thesis argues for the philosophy, design, and development of ChucK, a domain-specific programming language designed 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 synthesis/analysis and rapid experimentation in computer audio. In particular, ChucK provides a syntax for representing information flow, a new time-based concurrent programming model that allows programmers to easily (and flexibly) 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 - and ultimately 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. The various aspects of the ChucK language (and Audicle) are evaluated in the context of computer music research, performance, and pedagogy. As part of an extensive case study, the thesis discusses ChucK as a primary teaching and development tool in the Princeton Laptop Orchestra (PLOrk), which continues to be a wonderfully useful platform to observe the effectiveness of ChucK for teaching topics ranging from programming to sound synthesis, and for crafting new instruments, compositions, and performances for computer-mediated ensembles. Additional applications are also described, including classrooms, live coding "arenas", compositions and performances, user studies, and integrations of ChucK into other software systems, such as the sound design environment TAPESTREA. The oral presentation shall also include a brief history of computer music and programming, and offer contrast between ChucK and other computer music languages and environments.
participants (1)
-
Melissa M Lawson