Percussa micro super signal processor

Photo by the talented aoifejohanna, via Flickr.

Pd, Max/MSP/Jitter’s free and open-source cousin for Mac, Windows, and Linux, has long been a favorite of software DIYers. It powers the synthesis and processing capabilities of the ReacTable project, made famous recently by Bjork. And its open nature has earned some followers even among Max/MSP/Jitter users (nothing stopping you from using both).

One thing Pd hasn’t been — even assuming you know how to patch — is easy. That’s unfortunate, because there are would-be patchers who can’t afford Max, or who want a full patching environment on Linux, or want some unique features in Pd and its libraries.

Hans-Christoph Steiner has been working for a long time on “Pd-extended”, adding a lot of that polish and documentation, and making the whole thing easier to install. There’s a major new, finished release that came out last week. “Easy” might not be the appropriate word — but “easier”, combined with “powerful” and “free”, might get your attention.

Hans-Christoph himself checks in to explain what Pd is about, and this build, even if you have no previous experience with the environment. Take it away, HC:

Pd (aka Pure Data) is one of the Max family of patcher languages. It is a close cousin of Max/MSP. Pd and Max were both created by Miller Puckette. It is a visual, dataflow programming language for sound, video, 3D, etc. Basically, anything you can do with Max/MSP, you can do with Pd. Miller Puckette started Pd as his “version 3” of Max, and therefore there are some essential differences, but if you know Max/MSP, then Pd will be easy to learn. The Pd-extended distro is the Miller’s Pd plus the work of over a hundred contributors. It includes a large array of libraries for working with all sorts of things.

There are many features hidden inside of Pd that are basically undocumented. Typical of free software developers, the Pd devs write a lot of interesting code, but are not very good at documenting it (me included). For this release, we tried to bring more of that code to the forefront. The first part is getting it easy to install, the next part is making the documentation. For this release, the focus was on getting the visual libraries Gem, PDP, PiDiP working and interoperating. Gem was started in 1995 around OpenGL, it also has some pixel operations. PDP is short for “Pure Data Packet”, and it is based on a 16bit signed yuv format chosen for efficient processing, and PiDiP is a library for streaming and effects for PDP.

This code has been working for years, but is very under-utilized. For the first time, PDP/PiDiP work ‘out-of-box’ on Mac OS X (you’ll need Apple X11, which is an extra install on your Mac OS X DVD). Gem has support for shaders for at least two years, but there has been no documentation or examples, so very few people used it. Also, there were a couple of key bugs that preventing accessing the full potential of the shaders in Gem. They have been fixed, so there is lots of potential there.

On the usability front, there have been some key changes. You no longer need to mess with the preferences to use the standard libraries, they are all loaded by default. Anti-aliasing is enabled, and the font has been changed to a more readable one. There is also a .deb package for Debian and Ubuntu, so it’s really easy to install there.

I would like to dedicate this release in memory of Jamie Tittle. He was one of the main Gem developers, and was a key contributor to lots of really great code, like Gem’s shaders and the PDP/Gem gateways.

Pd-extended Release Details, Changelog
Pure Data Downloads

Visual programming, yadda yadda, open source platform for liberation of … okay, this is really about making sonic mayhem, as are these folks. Pictured: Francesco Rosati and Kurregomma perform the final live set of a three day-long Pure Data festival, co-organized by Francesco and the BuGsLab hacklab/collaborative in Roma, @ Strike s.p.a. Photo by pierlu (who writes to say he climbed a latter to snap this one!), aptly titled Pd Abuse. See: franzrozati.com.