Pd: Ugly. Hugely useful. Free.

The open-source, free graphical patching environment can do everything from simple MIDI tasks to building synths and effects to advanced multimedia. And because it’s free software, it’s also been adapted to run places other tools can’t – it’s been used in commercial iOS apps with millions of downloads (via libpd), and will run happily on a Raspberry Pi or even a hacked e-reader or ancient iPod.

Contrary to popular belief, it’s also getting a healthy stream of updates. And while those usually don’t merit specific mention, 0.46 is very cool. (It’s the “vanilla” version, so perfectly suited to work with libpd for iOS, Android, and game development, among other things.)

New in this release:

  • Native OSC (Open Sound Control) support. oscformat, oscparse objects now does OSC over UDP. (TCP, USB, etc. still require the slip encoder/decoder by mrpeach.)
  • Built-in support for Jack (inter-app audio, etc.) on OS X.
  • No more manually setting up devices: “Audio and MIDI devices saved by name so that when they get switched around Pd has a better chance of restoring settings correctly.”
  • New string support: [text language=”tosymbol”][/text], [text language=”fromsymbol”][/text]
  • Netsend/netreceive bi-directional TCP support. (Overdue – thanks!)

And of course the usual bug fixes and improvements.

Having OSC support built-in was for most of us doing run-of-the-mill stuff the last remaining obstacle to using Pd across mobile and desktop, so that’s really nice. And now is a good time to say, don’t bother with puredata.info for the vanilla version. Instead, grab via Git:

git clone git://git.code.sf.net/p/pure-data/pure-data
cd pure-data
git checkout

Or just download here:

The obvious comparison to Pd is Max/MSP – the two tools share the same lineage, the same original creator (Miller Puckette), lots of concepts and object names, and even some code. But they’re best thought of as very distinct tools, in increasingly different directions. Max is a much bigger program, apart from costing some money; that’s what allows it to do things like let you patch with DSP code (which can now be exported), or work with Ableton Live. Pd is free and lightweight, a more canonical vision of what the Max/Pd family would be, and as a result can run in environments where Max can’t. I find I enjoy working with each, and switching between the two feels really strangely different, even if familiarity with one can help with the other.

Worth revisiting this film of a Pd event in Nantes for a bit of visual stimulation regarding what Pd can do:

Pure [creative] Data / Stereolux Nantes (29-30 mars 2012) from stereolux on Vimeo.