Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

pd_20090207.jpg

Pure Data is an open source patch programming language, similar to Max/MSP, written by Miller Puckette. It’s a high-level visual programming environment, where you add input and data manipulation objects to a stage and drag connections between them to define how messages are passed through the system when it is running. With a minor amount of effort, it’s possible to create applications that perform complex real-time manipulation of audio and video data.

I was introduced to Pure Data (Pd) this afternoon by my friend Vince Veneziani. He’s working on creating a tutorial for Pd and sent over an introduction to the programming environment, including a sample application patch that plays video on the faces of a bunch of spinning cubes, which can be controlled in real time as the application runs.

About six months ago, I was reading up on music creation and the program Max/MSP, a graphical workflow environment for creating and manipulating audio and video. Very complex, but powerful stuff. The author of Max/MSP, Miller S. Puckette, later created a piece of similar, open-source software called Pure Data (pd). Pure Data is similar to Max/MSP except that it’s free for anyone to use and make stuff with.

In this post, we’ll go over what exactly I managed to do with PD. It involved using an M-Audio MIDI controller to manipulate videos in a real-time graphical environment. Sound too complicated or scary for you? It’s really not. C’mon, I’ll show you how it works.

I mentioned that Pd is a graphical programming environment, but like any language, there’s a steep initial learning curve, and you’ll need to figure out a lot about the types of objects that are available and how they function. I’ve only started playing with this, myself, but thankfully there are a number of helpful tutorials in the Pd documentation.

Have you used Pd before? If you have any tips, tricks, tutorials, or a cool patch you’d like to share, add it to the comments!

Pure Data
Vince’s Pd Introduction – Video MIDI Mixer
Pd Tutorials


Related

Comments

  1. Davebv says:

    hi! PD is great, I use it less than I’d like but it is a great tool.

    I made two simple patches to allow different computers in a network communicate sending MIDI over ethernet (or the local network, wifi/wired):

    You can download them here:

    http://davebv.es/software/midi-over-ethernet

    I also use pd for checking OSC behaviour of the music controller I made for the wiimote and mac osx:
    http://code.google.com/p/musiccontroller/

    Inspit the scripts are very simple, I hope you find them useful.

  2. Tachikoma says:

    Thanks a lot for the tutorial on video manipulation, also you guys can take a look at “The Theory and Technique of Electronic Music” is easy to find in google ( I heard the book now is free download legally )and is all abaut audio manipulation and generation and all the examples are made in pD.

  3. vt-pete.livejournal.com says:

    Hopefully Pd isn’t news to most of you. I’ve been using Pd for years. It is great ‘glue’ for most any project that involves a computer. Where Pd shines above Max/Msp is the inclusion of a wide range of opensource libraries, as well as being one of the best community supported projects I’ve seen. Yes, makers, it can talk to the arduino as well, using Hans-Christoph Steiner’s Firmata. I recommend heading over to http://puredata.hurleur.com/. There’s a wealth of knowledge in the archives, and questions are appreciated. I’m ‘nestor’ over there If anybody wants to PM me.

    fuzzy-math.com

  4. Mig says:

    Thanks for posting this guys. I often see makes/hacks using pd or Max patches and while Max seems a little pricey (about £300?) pd is obviously open source. The downside is that pd seemed like a completely opaque development environment with very little community or tutorials for beginners. I guess I was wrong!

    I have seen so much cool stuff done with these two programs that I am gonna have to give pd a go for myself.

  5. star m says:

    here’s a bunch of patches:

    http://lists.puredata.info/pipermail/pd-list/2005-09/030934.html

    ecktribe is the most usable (it’s a pure data re-imaging of the korg ER-1 analog modeled drum machine) , with rex_clone being the second most – a sub-sample player with musically relevant offsets.

    the are all tar gz files. download and rename .tgz should work on all platforms using pd-extended

    and here’s a project for an OSC controller specifically for PD. imagined by me and mostly implemented by Jeff Hoefs:

    http://www.flickr.com/photos/70604869@N00/sets/72157594150288841/

    based on pic microcontroller and some multiplexers.

In the Maker Shed