[talks] Ge Wang preFPO
Melissa M Lawson
mml at CS.Princeton.EDU
Mon Feb 12 15:52:50 EST 2007
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.
More information about the talks