I came across a presentation at the University of Oxford on the ‘Show Series‘ that was called “Pure Data – a musical programming show and tell”. I went expecting more about ‘data’, ‘big data’ and ‘stuff’, with a few related notes (pun intended) about music…
But was pleasantly surprised.
What is Pure Data?
“Pure Data (or Pd) is a real-time graphical programming environment for audio, video, and graphical processing. Pure Data is commonly used for live music performance, VeeJaying, sound effects, composition, audio analysis, interfacing with sensors, using cameras, controlling robots or even interacting with websites.” (from flossmanuals)
“Pure Data is a flexible and accessible programming language widely used by musicians because of its friendly “patching” interface.” (from the ‘Show Series’ description)
The talk demo-ed some entry level projects and gave an overview of how the program is used to control and make sounds. He gave an introduction of some of the objects used to create a sequence of sounds, and controllers such as oscillator, volume and digital to analogue objects. I really liked the references given and the speaker pointed us to these:
- https://puredata.info – as starting point, with loads of links to “How To’s”, Manuals and Tutorials.
- http://pd-tutorial.com – a whole book, on a “musician’s point of view” of Pure Data
- https://www.flossmanuals.net/pure-data – apparently one of his favourite sites for the documentation of PD
- http://forum.pdpatchrepo.info – once you got the basic understanding, you can share your ‘code’ on the forum (called ‘patch’) or re-use other ‘patches’ available there
- https://www.youtube.com/user/cheetomoskeeto – YouTube series of PD tutorials
A few observations for the future (and once you learn the basics you might remember this):
- VERY IMPORTANT: one of the first things to do is to add a volume control and set it to 0.3 (30%) otherwise you can ruin your speakers, headphones and/or ears!
- If there are two input connections, use the right first, then the left. Left is usually dominant, and if you connect to left then right, the right might never be played/listened.
- Best practice is to tidy the “patch”, allowing others to best understand your own drawing/code.
- Number entries can be changed to sliders, click/right-click and select Properties to edit.
- Sinesum allows complex sounds (any right combination of sounds with sine), so it is good to know.
Ambient Pure Data Composition:
Algorithmic Composition In Pure Data:
This last one has different ‘skins‘ and a tidy control panel, the two videos already exemplify some of the power of PD and also how complex a composition can become. I think if you understand music theory in some level you can benefit greatly, but if not, have fun just playing with the various controllers.
Another great and fun thing to do is to turn your music creations into apps, here are two references on how this can be done:
- Make a Pd Patch, Run it on Android, iOS, Right Away: Two Free Solutions
- libpd: Put Pure Data in Your App, On an iPhone or Android, and Everywhere, Free
On the ‘make an app’ note, there are two versions of Pure Data to download, the “vanilla” and the “extended”. The vanilla apparently is easier to export your patch to an android app, however the extended version comes with loads of useful libraries.
You can check the screencast of the Pure Data ‘Show Series’ and maybe learn a bit more than what I listed here.