"ChucK: A Computer Music Programming Language, Designing Instruments for Laptop Orchestras"

Brad Myers   Ge Wang , CCRMA, Stanford University

Seminar on People, Computers, and Design
Stanford University November 16, 2007

In the first part of this talk, we present the design, philosophy, and development of ChucK, a computer music programming language intending to provide a different approach, expressiveness, and thinking with respect to time and parallelism in audio programming - as well as a platform for precise and rapid experimentation. The basic tenets of ChucK include a syntax for representing audio flow, a new time-based programming model that allows programmers to precisely control time across concurrent program components (we call this "strongly-timed"), and facilities to rapidly experiment with programs "on-the-fly" (i.e., as they run). A ChucKian approach to "live coding" as a new musical performance paradigm is also discussed. This in turn motivates the Audicle: a graphical environment to visualize audio programming in real-time. We also present the applications of ChucK in audio research, composition/performance, and education.

In the second part of this presentation, we describe our adventures with the "laptop orchestra": a new type of large-scale, computer-mediated music ensemble. The laptop orchestra consists of 12 or more sets of laptops, humans, special hemispherical speakers, sensors, and software, and presents new challenges in music technology, instrument design, composition, performance, and pedagogy. Since its instantiation at Princeton University in 2005 (as the Princeton Laptop Orchestra, or PLOrk), the orchestra has premiered more than 50 new compositions and offered four new courses (in Computer Science and Music), using ChucK as a primary tool for teaching, composition, and instrument design in the ensemble and classroom. In these contexts, we present our ongoing experiences in building new human-computer musical instruments and performances, and discuss the potential of the laptop orchestra as a unique platform for teaching and experimentation with music and technology. Lastly, we present plans for the upcoming "Stanford Laptop Orchestra".


Ge Wang received his B.S. in Computer Science in 2000 from Duke University, PhD (soon) in Computer Science (advisor Perry Cook) in 2007 from Princeton University, and is currently an assistant professor in the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University. His research interests include interactive software systems (of all sizes) for computer music, programming languages, sound synthesis and analysis, music information retrieval, new performance ensembles (e.g., laptop orchestra) and paradigms (e.g., live coding), visualization, interfaces for human-computer interaction, interactive audio over networks, and methodologies for education at the intersection of computer science and music. Ge is the chief architect of the ChucK audio programming language and the Audicle environment. He is a founding developer and co-director of the Princeton Laptop Orchestra (PLOrk), and a co-creator of the TAPESTREA sound design environment. Ge composes and performs via various electro-acoustic and computer-mediated means, including with PLOrk, with Perry as a live coding duo, and with Princeton graduate student and comrade Rebecca Fiebrink in a duo exploring new performance paradigms, cool audio software, and great food.

Ge joins the Stanford music faculty as an assistant professor in the Center for Computer Research in Music and Acoustics (CCRMA). He excitedly looks forward to many things, including working with the strong faculty, researchers, and students and forging new directions in computer music research, software, and pedagogy, as well as writing music and initiating and developing new performance ensembles and paradigms, including a Stanford Laptop Orchestra.


View this talk on line at CS547 on Stanford OnLine or using this video link.

Titles and abstracts for previous years are available by year and by speaker.