You’ve got an instrument or effect running in Pure Data, for free, on your computer. (If you don’t know how to do that, more in a moment.) Leave the computer at home. Play that sound creation on your iPhone (or iPad).

The implementation of Pd on iOS and Android started its life with RjDj. But PdParty (and PdDroidParty before it) have gone steadily further. Now you can almost treat the graphical patching environment Pd on the computer as your development environment – patch away on your computer, then duplicate that patch complete with UI on your phone. It also means that you can ditch the laptop and run everything on an iOS gadget, perfect for integrating Pd with other gear. (There are other hardware solutions to that, too – I’ll have to do a round-up soon.)

PdParty goes the furthest yet.

Here’s how it works:

You patch normally in Pd. Once you’re thinking you’ll run a patch on the iOS gadget, there are templates that help you adapt to that scenario – with audio in and out, and the appropriate screen layouts. Choose those widgets you want for the UI, organize them so they’ll fit on the screen, and wire up sound and make some minor adjustments, and you’re good to go.

Your iOS device then runs a server that lets you load onto the phone/tablet.

But wait – there’s more. PdParty adds some features on top of that, some inspired by RjDj and PdDroidParty, but some new.

All the fixin’s

Custom widgets make it easy to adjust audio input level, turn on or off sound operation, and start or stop recording of whatever you’re doing (perfect for capturing ideas).

Play back files via a prepared widget.

OSC. Send and receive OpenSoundControl messages.

MIDI. Send and receive MIDI – now, that works with other apps, with connected hardware, and over a network to a Mac (that should be hackable to PC, too).

Game controllers. MiFi game controller input support works, too, on top of those MIDI gadgets.

Use sensors. You can also read data from the iOS gadget’s various sensors – that includes motion, location, and other inputs.

Backwards compatibility. Out of the box, you can add scenes from tools like RjDj.

Native widgets for UI. Basically, Pd sliders and checkboxes and knobs all work on the iPhone. It’s the next best thing to running Pd directly (which isn’t possible — yet).

Who would do such a thing?

Why, Dan Wilcox would. The need to do so became apparent because Dan was regularly in the habit of dressing up as a robot and running around parties playing music. Clearly, strapping an iPhone or iPod touch to a belt then makes loads of sense.

What? Of course this is the use case. It’s obvious. (Thanks, Dan, as always – brilliant engineering work, applied to brilliant party ideas. That’s the power of Pd party engineering.)



Getting started

This is definitely for people interested in Pd patching. But it could also be a fun way to start learning.

You’ll want to work with vanilla Pd patches, but you can add rjlib. Actually, even if you’re not terribly good at patching, you can use rjlib as a free library of lots of cool synths and effects and so on, plus a mess of abstractions that make life easier.

With rjlib in hand, I think anyone could get something working in a few days. I recommend the following resources to get started: (a bit easier) (a bit more focused on synthesis/sound – including some stuff the other link leaves out – and available in German and Spanish as well as English)

If you have a tutorial in mind, though, I’m thinking of writing a simplified one. It could be a nice way to celebrate 20 years of Pd.

And if you’re in New York, later this month there’s a conference.

Plus, if you want to write full-fledged mobile apps powered by Pd, check libpd. I’m working on some updates to this shortly. (Teaching Pd at the moment is helping, for sure!)