Personal tools
You are here: Home development PDDP IntroWorkshopSeries

As part of this process, we are also developing a standard Pd-intro workshop. Currently, its sketched out to be a five day workshop with the first day just covering the basics of the language, then the other four introducing specific topics.


Pd (aka Pure Data) is a real-time, graphical programming environment for integrated media processing. It is free software created by Miller S. Puckette, who also conceived of Max, to explore ideas of how to further refine the Max paradigm. It was designed to be as neutral as possible, with few assumptions about how things should be done. This makes it an ideal platform for integrating audio, video, MIDI, sensors, graphics, robotics, interaction, and more. It is a closely related cousin to Cycling74's Max/MSP and knowledge of Max/MSP is easily transferrable to Pd and vice versa. Pd runs on Mac OS X, Windows, GNU/Linux, and even on iPods, PDAs, and as a web-browser plug-in.

  • Day one This workshop starts with an overview: what is Pd, who uses it, how do you program with it, and what is the available functionality. In the first day, participants will learn the foundations of the programming language itself, including: control structures, timing, and basic GUI building.
  • Day two : participants will explore using Pd with many facets of sound: sampling, synthesis, filtering, and feature extraction.
  • Day three, basic video and OpenGL? operations will be covered, including video playback, video effects, live video, and simple OpenGL? rendering will be covered.
  • Day four will focus on communications between Pd and other processes via networking and OSC. Pd can communicate with Java, Flash, PHP, Max/MSP, or really any program that supports OSC or network sockets.
  • Day five : Learn to use sensors and electronics to interface with audio, video, or anything Pd can do. Instead of building from scratch, there are many sensor boxes that can used with Pd. For this workshop, the Arduino is recommended.

You can use your own laptop, the workshop will be preceded with a short installation help session.


  • Intro
    • overview of what you can do with Pd
    • core concepts (objects, messages, bang)
    • control structures (select, trigger, route)
    • programmatic control
    • timing structures
    • basic GUI building
    • GUI objects and graph-on-parent
    • data structures
  • Visual
    • Loading a still image (high-level, window vs file hidden)
    • Using a numberbox to control the size of the image.()
    • Loading a video clip
    • Using number box to scrub video
    • Using metro to control clip
    • texturing
    • using movies
    • using live video
  • Sound
    • basic oscillators
    • AM and FM synths
    • filtering
    • basics of sound interaction
  • Network
    • Read MIDI values (simple MIDI abstraction)
    • Add midi control to control frame of video & tone of FM synth
    • netsend/netreceive and netclient/netserver
    • communicating with Pd over TCP or UDP (Java, PHP).
    • OSC

    Interactive demo: netpd

  • Physical Media

If there is time remaining, the workshop can also choose from some advanced topics.

  • Advanced Topics
    • data structures
    • Under Development: namespaces and libdirs
    • writing objects for Pd in C
    • becoming a Pd developer
    • building Pd-extended
    • mapping


Language -- Wed, 29 Mar 2006 20:51:44 +0200 reply
At first I thought the first day was too dense, with the "control structures", timing and GUI building. But I realized its not the content that makes it sound dense, but the lanugage. I think the language should be as simple as possible. (why we have "sound" and not "sonic data representation" or something. "Control structures", "programatic control" could be changed to "Changing the way data flows". "timing" to "Making events happen in the right order" and "GUI" to "Interacting with PD"

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