» Pure Data
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Pure Data

Italian

Introduction

Pure data (aka PD) is a graphical programming environment for the creation of interactive computer music works. Some compare PD to max because they share the same creator (Miller Puckette). If you already have some max experience, at least have a look at the main differences.

Unlike max, pd is open-sourced, so that you can download&use it for free.

Wikipedia about Pure Data:http://en.wikipedia.org/wiki/Pure_Data

Download / Installation

Official release

You can download the vanilly release (i.e official sources without libraries) here.

Alternatives

If you want to take advantages of pd's libraries you can download pd-extended here.
It's an user-made installer whose contains (most-time) the latest pd release and the currently up-to-date libraries (but not all of them) for your specific OS.

Another alternative is to grab the source using svn from the pd repository and compile them yourself.

Notes:

  • If you really take full advantage of pd functionality, i'd recommand to give it a try under linux.
  • Like vvvv, pd can be installed everywhere on your computer (note this is true only for the official release).

Libraries

One important point, there's a wide community of developpers whose expands the program's main functionalities trough externals oftenly organized into libraries.

Libraries covers areas like:

It's sometimes confusing to find the latest release of a library as some are deprecated (i.e no longer maintained by their creator). To avoid that annoying point, see the pd-extended alternative or compile the externals' sources using subversion.

Getting Started

To launch pd, just navigate into the /bin folder and launch pd.exe.

PD's interface is based on tcl/tk and use a local networking system to send message between the interface and the application. So don't blame that your firewall warns you when you're launching the app ;).

The first step in order to see if everythings works well is to open the Patch "test audio and midi" located under pd's media menu.

If you still don't hear anything, be sure that the check-box "computer audio" is checked.
This box activate/desactivate the audio computation by pd.

Tips :

  • You can activate/desactivate audio computation using CTRL+SHIT+/ (activate) and CTRL+SHIFT+. (desactivate) shorcuts.
  • There's another alternative using pd's internal messages sending pd messages dsp 1 & dsp 0. This is done using a message box (CTRL+2) containing either ;pd dsp1; either pd dsp 0;. The first semicolon indicate that the message dsp 1/0 shouldn't go to the message box outlet. The pd word indicate that this message should go straight to pd application.

At this point, you could have a look at the documentation or begin to play with examples found under /doc folder.

Unlike vvvv and max, in pd you don't have a list of all usable objects when you create a new functionnal box. A workaround is to open the Patch entitle "help-intro.pd" that you can find under pd's menu help/browser/5.reference/.

Interfacing with vvvv

VVVV can send variables to PD and vice versa via OSC.

try the attached pd and vvvv patches.
they show two things:

  • how to send a vvvv spread to pd and unpack it there
  • how to send a pd packed list to vvvv and access the individual slices here

example VVV & PD files

Terminalogy

Patches

Like vvvv, pd's documents are patches?.
This is the area where you build your application.
Their extension is .pd.

Objects

Nodes? are call objects. Shorcut is CTRL+1.

Inlets/Outlets

Pins? are eitheir inlets? either outlets? just like vvvv.

Message/Number/Symbol

To send/visualize data to/from objects pd use several alternatives:

  • Enumerations are similar to pd messages' box. This functionality is different because pd use a lot messages regarding vvvv's enums. Just be aware that most pd's objects accept certain type of messages and they will do special computation regarding the type of message they received. Shorcut is CTRL+2.
  • IOBox (String) can be assimilated to pd symbols' box. Shorcut is CTRL+4
  • IOBox (Value) Advanced? are similar to pd numbers' box.Shorcut is CTRL+3.

Comment

Comments are just the same things than vvvv.
It help maintening patches and other to understand your work more easily.

Subpatches

Abstractions

Externals

To be continued...
Please feel free to correct anything that could be incorrect.
Any suggestion welcome.

anonymous user login

Shoutbox

~1d ago

joreg: @io: we have a new workshop format planned for that this year. to be announced with the rest of the workshops mid jannuary.

~1d ago

joreg: @mori better start a forum-thread describing your problem in more detail. because if you just ask: Can I? the answer is: Yes.

~1d ago

Mori: Can I connect the reverse pin of an LFO to something event triggered? I can't seem to find a way :(

~1d ago

Mori: Can I connect the reverse pin of an LFO to something event triggered? I can't seem to find a way :(

~1d ago

io: Yes, good patching style is the most difficult skill to learn when you are an isolated vvvv user as myself

~1d ago

Mori: Is there a workaround for the reset pin on LFO? Wave shaper doesn't do it

~1d ago

guest: @io Node13's Software Engineering Patterns workshop by Meso essentially fit the MVC pattern. It would be good if they run it again.

~2d ago

joreg: @io more than what?