Miller Puckette

Last Name: 
Puckette
First Name: 
Miller

Puckette obtained a B.S. in Mathematics from MIT (1980) and Ph. D. in Mathematics from Harvard (1986). Puckette was a member of MIT's Media Lab from its inception until 1987, and then a researcher at IRCAM (l'Institut de Recherche et de Coordination Musique/Acoustique, founded by composer and conductor Pierre Boulez). There he wrote the Max program for MacIntosh computers, which was first distributed commercially by Opcode Systems in 1990 and is now available from Cycling74.com . In 1989 Puckette joined IRCAM's "musical workstation" team and put together an enhanced version of Max, called Max/FTS, for the ISPW system, which was commercialized by Ariel, Inc. This system became a widely used platform in computer music research and production facilities. The IRCAM real-time development team has since reimplemented and extended this software under the name jMax, which is distributed free with source code. Puckette joined the Music department of the University of California, San Diego in 1994, and is now Associate Director of the Center for Research in Computing and the Arts (CRCA). He is currently working on a new real-time software system for live musical and multimedia performances called Pure Data ("Pd"), in collaboration with many other artists/researchers/programmers worldwide. Pd is free and runs on Linux, IRIX, and Windows systems. Since 1997 Puckette has also been part of the Global Visual Music project with Mark Danks, Rand Steiger, and Vibeke Sorensen, which has been generously supported by a grant from the Intel Research Council http://www.crca.ucsd.edu/~msp/ Pure Data (or Pd) is a graphical programming language developed by Miller Puckette in the 1990s for the creation of interactive computer music and multimedia works. Though Puckette is the primary author of the software, Pd is an open source project and has a large developer base working on new extensions to the program. It is released under a license similar to the BSD license. Pd is very similar in scope and design to Puckette's original Max program (developed while he was at IRCAM), and is to some degree interoperable with Max/MSP, the commercial successor to the Max language. Both Pd and Max are arguably examples of dataflow programming languages. In such languages, functions or "objects" are linked or "patched" together in a graphical environment which models the flow of the control and audio. Unlike the original version of Max, however, Pd was always designed to do control-rate and audio processing on the host CPU, rather than offloading the synthesis and signal processing to a DSP board (such as the Ariel ISPW which was used for Max/FTS). Pd code forms the basis of David Zicarelli's MSP extensions to the Max language to do software audio processing. Like Max, Pd has a modular code base of externals or objects which are used as building blocks for programs written in the software. This makes the program arbitrarily extensible through a public API, and encourages developers to add their own control and audio routines, either in the C programming language or, with the help of other externals, in Python, Ruby, Scheme and many other languages as well. However, Pd is a programming language in its own right. Modular, reusable units of code written natively in PD, called "patches" or "abstractions", are used as standalone programs and freely shared among the PD user community, and no other programming skill is required to use Pd effectively. With the addition of the Graphics Environment for Multimedia (GEM) external, and externals designed to work with it (like Pure Data Packet / PiDiP for Linux, framestein for Windows, GridFlow for n-dimensional matrix processing that integrates pure data with the Ruby programming language, etc.), it is possible to create and manipulate video, OpenGL graphics, images, etc. in realtime with seemingly endless possiblilities for interactivity with audio, external sensors, etc. Additionally, Pd is natively designed to enable live collaboration across networks or the internet, allowing musicians connected via LAN or even in disparate parts of the globe to create music together in real time.