(page under construction)
Pure Data is a graphical programming environment for real-time audio
and image processing. Created by Miller Puckette, it has become an open
source community project. Involvement with Pd can happen at any level:
check the tutorials and learn how digital synthesis works, work out a
dsp application of your own invention, or develop new Pd objects in C
Although Pure Data is aimed at artists without programming
background, it is a programmable calculator for signals, rather than
a readymade music software. Pd is easy to handle, once you get the
concept. It is just that the first steps into Pd are like a steep
staircase. Documentation is abundant, but it is spreaded all over the
internet, as is usual with open source projects.
Pure Data's main portal is http://puredata.info.
Executables for Windows, OS X and Linuxes can be downloaded from there.
There is a choice between Miller Puckette's Vanilla Pd, and Pd-extended
which is Vanilla plus contributions of other developers. The
comprehensive Pure Data FLOSS manual is at http://en.flossmanuals.net/PureData.
It includes an indispensable overview of Pd objects.
If you open Pure Data for the first time in your life, and wonder
about 'now what?', read this compactest Pd crash-course ever:
Unless you start up Pd by doubleclicking an existing
Pd patch, the 'post window' is your first encounter with Pure Data.
Here are messages from to program to you. At start up, it tells about
files that loaded. It can also tell about things that go wrong. This is
not a window where you can type, or put objects. It is not a 'patch'.
However, it will let you turn on audio computation, one of
those essential things if you want to hear sound from Pd.
The quickest way to see patches and understand Pd is:
- open the help browser from the help menu
- select an entry from the audio example patches
A01.sinewave.pd gives a first impression of how Pd works.
Pd's html manual is also available from the help browser,
doubleclick 1.manual/index.htm. This is not the forementioned FLOSS
If you want to create your own patch, open a new file from the
file menu. The new file is a blank patch. Very probably, this blank
patch opened in edit mode. From the 'put' menu, try to select objects,
messages, and other items that will populate your patch. In run mode,
you can not put items on the patch. Toggle between these modes with
ctr-E, or cmd-E for OS X.
Object boxes and message boxes are the most frequently used
items in a patch. They have different shapes: the message box looks
like a flag, whereas the object box is a plain rectangle. A message box
can tell an object box what to do. For example: tell an oscillator what
frequency it must produce. To send the message, just click the message
box while you are in run mode.
A Pure Data patch can be as small or big as you want to make it. A single patch can already produce or process a signal. Patches can be connected to each other, or nested, and together form a full-fledged program if you want.
This is also Pd. The 'graph on parent' (GOP) mechanism allows
patch cords and objects to be hidden in subpatches, while user
interface elements are shown on the top level patch.
With the graph on parent feature, Pure Data creations can have
an effective GUI and a pretty look.
In Pd's active community, there is a lot of advanced stuff shared.
Go to http://puredata.info/community/patches
to find some. http://puredata.hurleur.com
is a forum with a patches entry. You have to create an account, and
login before you can download patches from there.
However advanced a patch may be, it's operation depends on Pure Data
being installed on your computer. Most shared patches will not work
with Vanilla Pd, because they use one or more objects from Pd-extended.
Even with Pd-extended installed, a patch may not (immediately) work for
several reasons. A path is not found, an object could not be created,
connections could not be made, stack overflow... the Pd window will
tell you. Or you simply can not find the 'play' button. With patience
and knowledge, all these things can be solved, but for Pd novices it
can be discouraging. Below is a collection of links to inspiring
patches which worked out of the box for me, on OSX with Pd-extended.
>> Pure Data Patches) published this
pulse-grain-generator, an educative patch with surprising effect, based
on work of electronic music guru Curtis Roads.
Martin Brinkman (www.martin-brinkmann.de)
published intricate patches with feedback mechanisms, producing really
exciting sounds. My favourite is chaosmonster1, and next cells1, fbfm1,
grainstates1. Pd's post window may complain about missing [<~]
objects if you are on a Unix system, but for these patches it happens
to do no harm.
This compact emulation of a vintage drumbox is from diplipito, and you can find it on http://puredata.hurleur.com/sujet-3034-vintage-drum-machine. Remember you must log in to see and download the patch.
Toxonic shows how to handle that heavy knife of the chinese kitchen
and cook a good chop suey of your drum loops. You can find his tool on
http://www.toxonic.de (as a text).
A slightly different version with
the same number (3.2) is at http://puredata.hurleur.com/viewtopic.php?pid=15660
(not forget to log in). In that version, settings at load directly give
an impression of the potential, while the other one has all settings
neutral. When loading a soundfile in Chop_Suey, Pd's post window may
give a stack overflow warning, but actually things are under control.
Here is Merijn's Pure Data hyperlist: