Archived entries for Dataflow Audio Programming

Interfacing Pure Data with a Monome

Last semester, I spent the better part of a day building a Monome with classmates at ITP. Since then, the device has sat quietly on a shelf as I began to develop proficiency in a language it could communicate with. The Monome itself has no inherent functionality—it’s simply a grid of LED-backlit keypads that send serial messages via USB to one’s computer. While compelling as a design object, it’s reconfiguration that makes it particularly interesting.

Probably the most common means of communicating with a Monome is through programs written in Max/MSP. Max was developed by Miller S. Puckette in the mid-1980s as a programming environment for creating interactive computer music. At the time, personal computers weren’t powerful enough to generate and manipulate audio signals so this was handled by external devices. Then, in 1996, Puckette released Pure Data, also known as Pd: a redesigned, open source progression of his work on Max that also included digital signal processing. Meanwhile, Puckette’s longtime collaborator, David Zicarelli, founded the company Cycling ’74 as a commercial distributor for Max and other software packages. Zicarelli adapted the audio signal processing functionality of Pd as an add-on for Max called MSP and soon the two became a standard pair.

Max/MSP and Pure Data have followed rather different trajectories since the late 1990s, though their purpose is essentially identical. As a proprietary, commercial application, Max/MSP has evolved through five full versions into a lingua franca of interactive computer music. Pure Data, on the other hand, remains a free and open source environment for anyone to download and even modify at their discretion. While quite stable, it has yet to (and may never) achieve a full, 1.0 release and also lags behind Max/MSP’s thorough documentation and user interface enhancements. That is not to say Pd doesn’t have a strong community of users. Hans-Christoph Steiner, a Pd developer, computer musician, and my instructor, has been guiding the ongoing development of Pure Data and channeling the energy it sustains into making Pd better and more accessible.

It’s curious that a platform so resolutely open source as the Monome has gravitated toward Max/MSP for most of its programming. Were it not for Brian Crabtree and Kelli Cain’s inclination to share, we certainly would not have been making our own Monomes last semester. I believe there’s a place for both profit-driven and open source initiatives to coexist—and even benefit one another—in the domain or art and technology. Still, the relative merits of Max/MSP and Pure Data and the politics of distribution they represent are well-worth debating. For my part, I was interested in interfacing Pure Data with a Monome for my final in Dataflow Audio Programming and making the patch available to others.

Download: monome_toggle.pd (basic toggle functionality) or monome_interface.pd (basic toggle with tones) and press.pd (abstraction to be placed in the same folder, required for both)

Pure Data Sketch for 7 Transitions

Sketch for 7 Transitions (sound file, 2:50)

7 Transitions is the working title of a public sound installation I’ve been developing over the past two months. Audio for the project will be generated interactively through a Pure Data patch incorporating GPS data that triggers elements of the composition. The sketch brings together various aspects of Pd programming introduced in the first half of the semester.

It’s really great to produce something substantial with a visual programming language. Something about the workflow is both liberating and enjoyable to me. This is just the first sketch and it still needs work but peer response was favorable and you’re welcome to download the files and have a look. Soon I’ll have NMEA sentences running through the patch, too.

Subscribe via RSS. Process is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States license.

This blog is powered by WordPress and based on Modern Clix. Web hosting by Media Temple.