Introduction to PureData, Max’s Free Cousin
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.
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.
This is the end of this interesting article. I would like to add some useful links to go deep in the Pure Data world. I collected and selected them working in these two last years:
- Pd Installers
This is the best page where to download the latest version of PD. Fundamental. - Pure Data – Wikipedia, the free encyclopedia
Public reference and explaination of PD on Wikipedia. - http://umatic.nl/workshop/objects.txt
Description of all the most useful objects you can find in PD. - DELACREW BRUTE VEEJING ++ DRUM&BASS ++ MOTION GRAPHICS » EVE (open source project)
Cool, interesting and super active spanish crew working with Vjing in PD. They developed their own software (EVE) with PD to make vjing. - Qeve development
Project of Husk an italian artist and friend. He’s working on a new personal version of EVE. - Bienvenue sur le site Free Hardcore Improvisation Ltd | Free Hardcore Improvisation Ltd
French audiovisual project. The rough one… I Love it! They build theyr own hardware and software. - telenoika.net – portada
Telenoika.net audiovisual open creative community (Spain) - OpenSoundControl
More weird and nerdy stuff:
(”OSC”) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used in many application areas. - PortAudio – an Open-Source Cross-Platform Audio API
PortAudio is a cross platform, open-source, audio I/O library. It provides a very simple API for recording and/or playing sound using a simple callback function. - Arduino – HomePage
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. - YouTube – Pure Data Video Mixer
This is a tutorial that shows how to make a software video mixer using open source object oriented graphical programming environment Pure Data - I C::ntr::l Nature
Software (C::NTR::L) and performance developed by Marco Donnarumma aka The !S.A.D!.
The electric bass guitar is used as sonic source to process in real-time, but also as video controller, thanks to a complex system of audio analysis which recognizes notes, frequencies and RMS, and duration and translates this data in parameters employed to control in a new and specific interaction scratch, speed, length, fading and selection in real time over the video output.
hope this will help some of you!…

