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:
  • Darren Landrum

    This sounds like it might be a good time to try out Pd again. I was never able to figure it out before.

  • I use PD everyday. Documentation is a real issue. The best approach I have is to look at the Max/MSP documentation, and then guess what that might be called in PD.

  • hm, just installed the new build for mactel and right-click doesn't bring up any of the standard objects (as the manual states)… for a point a click app, that's highly annoying.

  • I recently developed physically-modeled synths for Max and pd (thanks to Thomas Grill's flext).

    To me pd is very much better than Max, even if it's a pain to learn.

    For instance, I found the synchronization between the signal and the message schedulers much more performing in pd. But there are many other examples supporting my preference for pd.

    In other words, my physically-modeled synths sound much better in pd than in Max (and they should be exactly the same!!!)

  • I am planning to switch to Ubuntustudio soon. Might be cool, PD!

  • I will try it, but I'm waiting for MAX/MSP 5 too. I think that today MAX 4.6 is ok, but slow in the development and debugging and time is money…

    I think PD could be a good choice for students, but it should be absolutely easy to install and to start to work with, otherwise it will remain a beatyful tool for experienced user only.

  • Pingback: Slapdelay » PD gets easier()

  • epiphanius

    <blockquote cite="Pd, Max’s Free Cousin, Gets Polish">

    But why only Polish? What about the other Western Slavic languages, like Czech and Slovak?


  • lukasz

    I think he means polish (lower case) not as in the language but as in they made it better.

  • jazzdalek

    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.

  • 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?"

  • 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.

  • 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.

  • 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.

  • 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.

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

  • 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.

  • 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?

  • Thanks brianvega.

    Best news I've heard all day.

  • 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.

  • Rohan De Livera
  • Wow, and I see one of the features I thought differentiated Max/MSP/Jitter is now in Pd — Java support.

    Okay, probably not a huge deal to most users, but interesting nonetheless.

    Thanks to everybody for these tips…

  • Pingback: NYC Resistor » Pure Data()

  • Pingback: Create Digital Motion » Pd, Open Source Patching for All Platforms, Now Easier and More Visual()

  • Pingback: Create Digital Motion » Leopard Visual Magic: What’s New in Free Quartz Composer Tool()

  • pierlu

    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

  • 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.

  • Pingback: Quartz Composer()

  • Pingback: windows vista free screensavers()

  • Pingback: KINECT #1 « Digital Dump()

  • al

    been thinking of trying pure data again as last time i downloaded it

    it infected my computer with a blade runner trojan

    so uninstalled it

    so yesterday started toying with the idea of trying it again as it seems pretty cool

    so i did and again it installed anouther trojan

    on my computer

    i downloaded from the pd wiki the windows version

    has anyone else had this problem or is it just me

    also what types of audio files does it use

    can i use mp3 files

    also can i save instruments for standalone use

    ie create a control surface and save as .exe file

    im also interested in the way pdpod works

    is there an equivelent sony psp version pdpsp maybe

    and how much of a learning curve is it going to be from reaktor and synthedit or even cps ive been using that from last year



  • There is no trojan. Some cheap virus checkers erroneously flag Pd.

  • Pingback: THESADDJ.COM - Sad Music, Audiovisual Live Performances and Live Video Digital Arts » Blog Archive()