/awesome-puredata

A curated list of resources for visual programming language Pure Data.

Awesome Pure Data

A curated list of resources for visual programming language Pure Data.

Distributions

  • Pd-Vanilla - main distribution, can install libraries through built in search tool, greater compatibility and performance.
  • Purr Data - More visually pleasing, has some libraries included, great for beginners.
  • PlugData - Pure Data ala Max MSP with cyclone and else libraries included.
  • Purr Data in a web browser - A graphical programming environment in a web browser.
  • Pd-CEAMMC - A Pd vanilla fork with a built-in libraries, tool bar and object list, also great for beginners.
  • Pd-next - A Pd vanilla fork with color customization.
  • La Malinette - A more visual, french and modular version of Pd with custom abstractions.

Libraries & externals

  • else - (externals) ELSE is a big library for Pure Data that provides a cohesive system for computer music, it also serves as a basis for an Live Electronics Tutorial by the same author, Alexandre Torres Porres.
  • CEAMMC - (externals) General purpose Pd distribution and library used for work and education purposes in Centre of electoacoustic music of Moscow Conservatory (CEAMMC) and ZIL-electro studio. This library has plenty of GUI objects such as Knobs, Arrays, Sliders, Waveform Displays, etc.
  • Flucoma - (externals) For programmatic sound bank exploration via machine listening and machine learning algorithms
  • Pd Spectral Toolkit - (externals) The Pd Spectral Toolkit facilitates frequency domain signal processing with a family of spectral transformation, calculation, and data manipulation objects.
  • Cyclone - (externals) A set of Pure Data objects cloned from Max/MSP.
  • timbreID - (externals) An audio analysis library for Pure Data.
  • fftease - (externals) FFTease is a collection of objects designed to facilitate spectral sound processing in Max and Pd.
  • AudioLab - (vanilla) A library of high level Pure Data abstractions with a focus on electroacoustic composition, live electronics and sound design.
  • mmb - (vanilla) A library of Pure Data abstractions, with anti aliased oscillators, filters, etc.
  • Heavylib - (vanilla) Library of Heavy compatible abstractions.
  • Deken Online - Search pure data libraries online.

Audiovisual Libraries

  • Gem - Graphics Environment for Multimedia.
  • Ofelia - Ofelia is a Pd external which allows you to use openFrameworks and Lua within a real-time visual programming environment for creating audiovisual artwork or multimedia applications such as games.

Plug-ins for Pd

  • Completion plugin - This Gui-Plugin enables auto-completion for pure-data objects.
  • PUnIsH - Pure Data User Interface Hacks.
  • Keyboard Navigation/patching - This is a prototype branch that allows you to fully navigate and connect your patches with the keyboard.
  • patch2svg - Save the current Pd patch as an SVG graphics.

Tutorials & Books

Pd as an audio-plugin

  • Camomile - Camomile is a plugin with Pure Data embedded that allows to load and to control patches inside a digital audio workstation. The plugin is available in the VST2, VST3, Audio Unit and LV2 formats for Windows, Linux and MacOS.
  • Camomile ELSE - Camomile plugin compatible with the else library.
  • Heavy Compiler or hvcc - hvcc is a python-based dataflow audio programming language compiler that generates C/C++ code and a variety of specific framework wrappers. This compiler can generate the following: c, bela, fabric, js, pdext, unity, daisy, vst2, lv2, jack, wwise.
  • PlugData - Plugin wrapper around PureData to allow patching in a wide selection of DAWs.

Pd on Mobile Devices

  • Pd Droid Party - Run Pd patches on Android
  • Pd Party - Run Pd patches on iOS.
  • MobMuPlat - Design interfaces and run patches on Pd patches on Android and iOS.

Pd on the Web

  • Pd Web Party - An app that allows Pd users to run patches in a web browser and share them with a web link.
  • WebPd - WebPd is a 100% JavaScript Pure Data runtime using Web Audio API to play audio in the browser.
  • empd - Pure-data compiled with Emscripten.
  • Pure-Data-Ofelia-Emscripten - A Collection of Pure Data / Ofelia Patches for compiling with Emscripten

Pd for other software

  • Ossia - cross-platform sequencer compatible with Max, Pd, OpenFrameworks, Processing...
  • LibPd Unity - LibPd for Unity.

Pure Data external development & scripting

  • Externals howto - How-To write externals for Pd.
  • DAO for Max and Pd - Collection of Max/MSP and Pd externals developed from the explanations in the book "Designing Audio Objects for Max/MSP and Pd" by Eric Lyon.
  • Flext - C++ development layer for Pure Data and Max.
  • Py - Python scripting objects for Pure Data and Max.
  • Pd-lua - Lua bindings for Pd, updated for Lua 5.3+.
  • Scheme for pd - open-source external for live-coding and scripting Pd with an embedded s7 Scheme Lisp interpreter.
  • CICM Wrapper - A C/TK library that aims to facilitate the creation of objects for Pure Data.
  • faustgen2 - The FAUST compiler in a box.

Pd on Youtube: Tutorials & Music

Community

Pd as a collaborative platform

  • Kiwi - Kiwi is a graphical programming environment dedicated to music and sound creation, such as Max or Pure Data softwares, but offering a real-time collaborative approach: Kiwi allows several distant users to work simultaneously on the same patch hosted online.
  • Collab Hub - The Collab-Hub Pd Client is a tool designed to faciliate communication with the Collab-Hub server from within Pd. This client will help you send/receive data over the internet between Pd and/or other platforms.
  • netpd - is a CRNMME (Collaborative Realtime Networked Music Making Environment) written in Pure Data. It allows many users to have a real time jam sessions with each other, connected over the internet