It might be summer and all the students are long gone; perhaps at the beach barbecuing and enjoying the so famously supreme weather of this island. But we the staff – ever the diligent and hard working people that we are – obviously stay on board to deal with the summer courses and preparing the autumn semester.
This week we had another superb reason to stay indoors, as Iwona had invited Marco Donnarumma to do a two-day Pure Data workshop with us. Pure Data (Pd) is a language for collaborative real-time graphical programming, with a special focus on hardware interactions and audio / video processing.
Pd is free, platform independent and fundamentally different from anything we’ve ever worked with before; and that includes Blender Gamekit (graphical programing ni Python) and Kismet (graphical UnrealScript). It’s a real-time language, which means that your program is running while you’re building it! And the syntax – the graphical representation of the language – is also your GUI.
Objects like “number”, “dsp”, “slider”, “colorspace”, “toggle” and “checkbox” are both instances used in the logic, and actual GUI-components that you can manipulate! The editor therefore has two modes: one for programming and one where you manipulate your program’s settings and inputs. But everything is running all the time, so the modes are mostly a convenience.
Platform independence was not a joke either; we were five Apple machines, two Ubuntu installs and a mix of Windows XP, Vista and 7 attending the workshop. It took 10 minutes for us all to install and have hardware accelerated rendering (OpenGL), high-precision audio and low-level access to webcams, microphones, network and practically any kind of input you could imagine.
Pd is an incredibly powerful tool, for the right set of problems. Though I’m not an artist like these people it has been extremely interesting and great fun to learn, and the experience left me marginally less envious of my summer-celebrating students. 😀
Download PD Extended if you want to try it out. You’ll get all common extensions and no fuss.
Other useful links:
Pure Data programming conventions (pdf). (I do recommend a quick read through even if you don’t intend to try the language)
The Theory and Technique of Electronic Music (lots of examples in Pd)
Pure Data manual (FLOSS manuals are awesome!)
PD Community Site
PD Forum
PureData FAQ
GEM-manual (GEM is the most commonly used library for video processing)
GEM FAQ