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.

these tutorials by Andy Farnell really helped me out. Anyone new to PD may want to take a look at them. I think he does a fantastic job writing these and I certainly hope he keeps it up.

http://www.keithhandy.com Keith Handy

I really want to try playing with PD, but when I launch it, I sit there feeling like an idiot. "Uh… what do I do?"

http://at.or.at/hans/ more help

Keith, you make a good point that I hope to address in the next release. People new to things like Max and Pd usually think of it as an app rather than a programming language. So I want to add a "Start Here" item on the "Help" menu to provide a nice starting point. In the meantime, take a look thru the Help -> Browser… -> examples

For example, "pmpd" has lots of fun examples, basically, follow the numbers with the arrows, and click on those boxes, then you should get a new window with 3D graphics in it that you can manipulate.

Luke

I am psyched It looks like they fixed some annoying flaws. and if more people start using PD I suspect the documentation will improve quickly.

I second the Obiwannabe tutorials. They really showed me how to get around and more importantly how to get started on a given patch. (ie. well first I am going to need some sound to manipulate should that be noise or a sine wave or something else. Here is how you access those. Now I can manipulate it…)

As a computer music student I already know a bunch about how synths work, but having a walk through really helped me to start using the environment.

http://raymond.rnamusic.com octatone

why isn't there a rightclick access tree for all the objects? that would be a huge improvement over having to parse through all the manuals for a given object for a given task.

http://www.myspace.com/paxpax Lost

I had actually just downloaded Pd expanded on sunday. Install was simple, worked right away. I don't know if i'm just stupid but i couldn't find a list of objects anywhere in the documentation. Had to google it and find a third party list to refer to.

brianvega

You can find a list of all objects for PD Extended under "Help", the menu will bring you down to "Browser" and there is a huge list of everything you need to know about PD objects and more.

http://www.keithhandy.com Keith Handy

brianvega: thanks. Just to give you a newbie-eye view, I didn't try that menu option because I thought it would try to launch an internet browser.

http://www.keithhandy.com Keith Handy

…oh, I guess eventually it does use an actual browser.

http://raymond.rnamusic.com octatone

but from a user standpoint, having to hunt down the manual even for access to the most basic of objects or to have to look for them in drop down menus is simply bad design. the program's great, but the interface needs work.

http://briarmonsmetrach.googlepages.com/home runagate

I am, once again, amazed at the dedication and charitableness of freeware developers.

Those tutorials are going to come in handy, becaue (noou)'s assertion that he's made PM synthesizers alone makes me want to get home and try to wrap my head around all of this again.

Andreas

it's nice that there is good open source stuff out there like pd, but for people like me maxmsp is the way to go. pd is a lot to complicated for me, especially for a non native like me reading wide spreaded docs is really hard.

Hmmmm

maxmsp is ok because it has jitter.

reaktor is neat because the dsp vector size is 1.

bidule just looks nice.

pd has always seemed like an open-source academic linux app to me.

But hey, they're all just different tools anyway, right?

http://www.myspace.com/paxpax Lost

Thanks brianvega.

Best news I've heard all day.

http://obiwannabe.co.uk Andy

Andreas, I think Pd is great for non English speakers because of its visual simplicity. The "diagram is the program" thing really works across language barriers. Many new international wiki activities are writing and translating documentation so Pd may end up with as much as Max or more. It's Polished but not Finnished yet.

lematt

well, i had installed the previous version of pd extended on my macbook with success… but i can't get gem working and… even if it's well documented, pd remains difficult to get, and the experimented users can't help you to get into it, 'cause they're already too deep inside the matrix.

but this version works bad on my macbook…

Rohan De Livera

I found this to be the best way to get started with Pd. Andy Farnell's excellent tutorials. Everything made sense after this one.

i updated yesterday to this latest pure data release and i have to say that it sounds really better than the previous one: i am working on a patch that used to pop every now and then and i know it was depending on the audio engine. in fact yesterday the same patch was producing audio flawlessly, without the usual glitches.

i have yet to try to send audio thru soundflower into live, which resulted in unstable behaviour with the former release… i expected a better performance now with the new one, i'm confident.

btw i'm on Tiger, PPC G4 867

http://at.or.at/hans/ Hans-Christoph Stein

Andreas, there are many PD users all over the world, many who don't really speak english. To support more people, we have started PdPedia, a multi-language wikipedia for Pd. It's just getting started, so it doesn't have a lot of content yet, but I hope this will bridge the gap to people all over the world.