ProtoDROM: Prototyping with Pure Data and Processing

Music
ProtoDROM: Prototyping with Pure Data and Processing

In this post Shawn Greenlee writes about his experience getting the Pure Data real-time audio synthesis tool working with Processing. Shawn is a musician and Foundation faculty at the Rhode Island School of Design in Providence. Take it away Shawn:

Lately I’ve been using libPd and Processing to prototype audio apps for iOS on my laptop. I recently did this in the development of Fluxama’s DR-OM app, a collection of three mini-synthesizers or “drone ready oscillator modules.” We’re using libPd for the audio in our apps.

I decided to speed things up on the sound design by making use of the recently updated (but still beta) “libPd for Processing” by Peter Brinkmann. Combined with the Processing libraries controlP5 and oscP5, along with a mobile app that can send multitouch OSC messages (like TB Midi Stuff or TouchOSC), I have a solid prototyping platform that allows me to fine tune things at a quick pace.

There is a great benefit beyond just prototyping for mobile devices here. The ability to make standalone applications for laptops and desktops by combining Processing (for visuals) and Pure Data (for audio) is reason enough to try this out, especially if you like developing in a patcher-style audio programming environment.

To share a bit of my process, I’ve uploaded some commented tutorial examples to GitHub that will get you going with the essentials for piecing together one of my prototype DR-OMs (a protoDrom).

If you are new to Processing and Pure Data, there’s plenty of resources online and in print. Check out books from O’Reilly, especially Peter Brinkmann’s Making Musical Apps and Casey Reas and Ben Fry’s Getting Started with Processing.

Important to note is that as of this writing libPd for Processing is only available for Mac and Linux, and for good measure I’ll let you know that I am running a Macbook Pro with the 10.8.1 OS (so if you’re working on another OS, mileage may vary).

OK, before grabbing the code examples, first you’ll need a few things:

  1. Processing. I’m using Processing 2 Beta 3.
  2. Pure Data. You’ll want the “vanilla” version, not Pd-extended. I am using Pure Data 0.43.2.
  3. Processing Libraries. Copy these to your libraries folder; see respective sites for installation instructions.
  4. You’ll also need an app on your mobile device capable of sending OSC messages. TouchOSC and TB Midi Stuff are popular options that will let you customize the OSC messages sent.

Once you have everything installed, run some examples included with the Processing libraries to make sure everything is working properly.

And then check out the DR-OM tutorial code that I’ve uploaded to GitHub:
https://github.com/s3g/protodrom.

Here’s what you’ll find:

  • Drom tutorial 1: A Processing sketch that demonstrates the basics of sending messages to your Pd patch in conjunction with the controlP5 library.
  • Drom tutorial 2: A Processing sketch adding OSC communication to the first tutorial using oscP5.
  • Drom tutorial 3: A Processing sketch for one of the synths. Export your own standalone for best performance.
  • A TB Midi Stuff template with the OSC controls all set up.

— Shawn Greenlee

6 thoughts on “ProtoDROM: Prototyping with Pure Data and Processing

  1. Raspberry Pi and Parallella for audio multi threaded/core operation – platform | Synthesizer Database, Sequencer & Drummachines, News & Forum Community says:

    […] DR-OM Pd patch from protoDROM version (Processing+ libPd) available at github.com/s3g/protodrom blog.makezine.com/2012/09/24/protodrom-prototyping-with-pure-data-and-processing/ […]

  2. Tee says:

    do you have a little more in explanation about exactly where to unpack the libraries? the pdp5 has a second puredata folder and then all the lib/examples/reference in that. Do you put the puredata folder in the main libraries folder, or the pdp5 folder there. I’m getting an error on the “pd = new PureData(this, 44100, 0, 2);” line because i think the .jar isn’t creating the PureData method because of broken links.

  3. Raspberry Pi running Pure Data w/ DR-OM patch : Steelberry Clones says:

    […] DR-OM Pd patch from protoDROM version (Processing+ libPd) available at github.com/s3g/protodrom blog.makezine.com/2012/09/24/protodrom-prototyping-with-pure-data-and-processing/ […]

  4. Claudio Nervi says:

    dear Shawn: the procedure to get a synth usin both, pure data and processing, is very interesting. I’m wandering: is it possible hide the pure data mask, and hide the processing mask so you only had the graphic mask of the sinthesizer?? Is it easy and possible to put everything in one individual executable file?

Comments are closed.

Discuss this article with the rest of the community on our Discord server!
Shawn Wallace

Shawn Wallace is a MAKE contributor, artist, programmer, and editor living in Providence, R.I. He designs open hardware kits at Modern Device and organized the Fab Academy at the Providence Fab Lab. He makes iPhone synthesizers with the Fluxama collective and is a member of the SMT Computing Society.

View more articles by Shawn Wallace

ADVERTISEMENT

Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).

FEEDBACK