Personal tools
You are here: Home
Document Actions

Pure Data

by Miller Puckette last modified 2021-12-01 04:28 AM

Welcome to the Pure Data site!

This site is a contribution of the IEM to the Pure Data community. Every Pure Data user who wants to contribute is welcome to join this portal and write/contribute some documentation, reports, news, comments and announcing events. The site is run on a Linux server with Zope / plone and administrated and driven by the Pure Data community.


About Pure Data (aka "Pd" / "Pd Vanilla")

Pure Data (or just "Pd") is an open source visual programming language for multimedia. Pure Data is developed by Miller Puckette since 1996 and you can find it on his official website along with the official documentation and other related resources. This is the official "Pd" or "main distribution" and it is also known as "Pd Vanilla", but there are other forks or "flavours".


Download Pure Data (Linux/Mac/Windows)


What's New? Pd keeps evolving! See the Release notes for details.
One of the most prominent new features in last decade has been the inclusion of the Deken library manager for easy access to community-developed external libraries that expand the capabilities of Pd such as Cyclone, zexy, and the computer graphics library Gem.


Main Pd flavours

Pure Data is an Open Source project and embraces derivatives. Notable flavours of Pd include:

Pd-vanilla
Miller S. Puckette's original distribution of Pd.
Pd-ceammc
Fully compatible with Pd Vanilla, this flavour is enhanced with some UI tweaks, including some from (the now unmaintained and deprecated) Pd-Extended (like visually differentiating control and signal in/outlets). It carries some pre-installed externals (but none from Pd-extended); most notably it has the ceammc library (that you can also install on Pd Vanilla ans use in Vanilla most of what this flavour offers).
Pd-L2Ork
Pd-L2Ork 1.x started in 2009 as a fork of Pd-extended (but for Linux only), including the same pre-installed externals as Pd-extended and more. A cross platform version was released in 2017 named Purr Data (now an independent project, see below), which also included a port to a new HTML5 front-end GUI (instead of tcl/tk). In the fall of 2021, Pd-L2Ork provided new releases unrelated to Purr Data, but including the same HTML5 GUI port provided in Purr Data. GUI externals made for Pd-Vanilla that use tcl/tk are not compatible to the HTML5 GUI front-end, and some GUI externals from Pd-extended haven't been ported yet. Note that there are also some incompatibilities/differences between the core of Pd-Vanilla and Pd-L2Ork.
Purr Data
Started as an updated version of Pd-L2Ork 1.x ported to an HTML5 GUI front-end GUI. This flavour also includes pre-installed externals from Pd-Extended and others more. It has the same caveat that GUI externals made for Pd-Vanilla are not compatible to the HTML5 GUI front-end, and some GUI externals from Pd-extended haven't been ported yet. Note that there are also some incompatibilities/differences between the core of Pd-Vanilla and Purr Data. Other than that, you must now also consider Pd-L2Ork and Purr Data incompatible to each other as well, meaning that things that work in one may not work in the other.


More about Pure Data

Find other Pd goodies to download at the Downloads page

Pure Data is an open source visual programming environment that runs on anything from personal computers to embedded devices (ie Raspberry Pi) and smartphones (via libpd, DroidParty (Android), and PdParty (iOS). It is a major branch of the family of patcher programming languages known as Max (Max/FTS, ISPW Max, Max/MSP, etc), originally developed by Miller Puckette at IRCAM.

Pd enables musicians, visual artists, performers, researchers, and developers to create software graphically without writing lines of code. Pd can be used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI. Pd can easily work over local and remote networks to integrate wearable technology, motor systems, lighting rigs, and other equipment. It is suitable for learning basic multimedia processing and visual programming methods as well as for realizing complex systems for large-scale projects.

Algorithmic functions are represented in Pd by visual boxes called objects placed within a patching window called a canvas. Data flow between objects are achieved through visual connections called patch cords. Each object performs a specific task, which can vary in complexity from very low-level mathematical operations to complicated audio or video functions such as reverberation, FFT transformations, or video decoding. Objects include core Pd vanilla objects, external objects or externals (Pd objects compiled from C or C++), and abstractions (Pd patches loaded as objects).


Documentation and resources

Please check the documentation page, where you can find Resources to start learning, Books about Pd, Manuals and more!

Also check out the Pure Data patch Repository

Find Pd people on Facebook and Reddit and join us on our mailing list (more on the Community page )


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser