Pure Data
What? #
Pure Data is a visual programming language and a programming environment used for audio and video performances, installation and software. It can be compiled to a range of micro-controllers to create audio-enabled real world objects, such as synthesizers or guitar pedals.
Why? #
It was created by Miller Puckette as an open-source alternative to his earlier work, Max (aka Max MSP), which was developed in academia under a proprietary license. Max has changed hands multiple times since then, and is widely known through Ableton and Cycling '74.
The interface of Pure Data is shabby and awkward on the outside, and it can be off-putting at first. Turns out one of the core idea of PD is that it stays self-contained, with minimal external dependencies, and the cost of it is to not depend on any conventional UI library. It should just work even if you open your PD project in 10 or 20 years from now.
It's extremely easy to learn enough of PD in one sitting to get productive. It took me a few hours at a workshop organized by Servando and Pedal Markt to learn the ropes.
PD's embedded manual is built with PD and is highly interactive. It contains efficient implementations of typical audio-processing blocks that can be drag-and-dropped into your projects, so you can experiment and learn without internet connection.
Ok, what else is there #
There is a fork of PD with modern looks and rich features called plugdata. It can be used standalone or as a VST inside a DAW (i.e. Ableton). Fancy features come at a price: due to external dependencies plugdata is heavier than vanilla PD, arguably less reliable, and offers limited backwards compatibility, including when compiled for hardware use.
- S3rquencer - world's largest sequencer, PD inside
- patchstorage - library of custom PD code
- Wavetable oscillator - from the manual