Here comes the hard and convoluted bit, PD. Rachel & I sat in front of a blank box in PD wondering what are we suppose to do next? Thankfully Mat gave us a simplistic run down of its features and functions which will hopefully help us understand how it all works for our projects (to a certain degree).
PD or Pure Data is a graphical programming language developed by Miller Puckette in the 1990s for the creation of interactive computer music and multimedia works. It basically is like a massive flowchart connecting components together so that they work somehow.
Screenshot of PD with a really simple flowchart :

Now onto my PD program thing. My project simply has to take inputs from quite a few contact mics, and when a signal is heard from a particular mic, play a sound file. Now breaking this down I’ve decided to create a simple PD program flowchart of how it works with just the one mic input.

Now for people who’ve used PD you would prolly laugh at my pathetic first attempt, but for all the rest who are looking confused as to what this all means I shall attempt to break it all down and explain what functions I used and why.
adc~ & dac~ – This is how PD gets inputs and outputs from the computer (adc = analogue to digital converter, dac = digital to analogue converter). Think of this as the begin and end nodes of a flowchart.
fiddle~ – This function estimates the pitch and amplitude of an incoming sound. The numbers after it indicate window size, number of pitch outlets, number of peaks to find and number of peaks to output. Since I didn’t know what all these numbers meant I’ve decided the leave it as the default settings.
[O] – This box (a circle inside a square for those who still don’t know what it looks like from that) is called a bang. Basically from what I gather it creates a visual indication of when a function that it’s connected to triggers. So it basically lights up black if the fiddle~ function receives a signal from the mic in this case.
1 – This number is associated with the readsf~ function below. It basically tells readsf~ to start playing the sound file (if instead the number were 0, it will tell the readsf~ function to stop playing).
open <directory path of sound file> – This basically tells the readsf~ function below to open a sound file in a particular directory path on your computer.
readsf~ – This function just allows you to read the sound file passed on from open.
So basically this simple flowchart is getting the left and right channel inputs from the computer’s input device (inbuilt mic), senses whether or not there is a signal from that mic that hits a particular threshold level. When this level is hit, it will play a soundfile out of the left and right channels of the computer’s output device (speakers).
Problems I’ve encountered
- Learning how to use PD was a problem in itself.
- Functions not working properly because of wrong syntax but was worked out by use of online help files and trial and error.
- I only know how to make it work with only one input, I’m not sure how to make it all work for multiple inputs…yet.
- Getting hold of contact mics to play with.
I think that’s all for now since I can’t really think of any other problems that I’ve encountered…
