Pd lab #3 & Homework assignment #3

Pd localization cues, Schroeder-style reverb and analysis / resynthesis

The assignment is to create a short radioplay with audio effects and sound effects. Again, shoot for a duration between around 120 secs. This is a demo to introduce some techniques described below. Though it won't be strictly-speaking binaural (we haven't implemented that, yet), it is intended for headphones. Techniques include localization with interaural intensity difference (IID), time difference (ITD), Schroeder-style reverb, and phasevocoder processing for time warping and pitch transposition.


Binaural recording essentially puts stereo mics inside your ears to capture as closely as possible what your ears receive. Played back with headphones, it preserves the IID and ITD cues that are basic to sound localization. We'll fake those in a Pd patch (~cc/220a/pd/pwrAndDelPan.pd). Binaural also captures filtering (transfer function) differences caused by body parts shadowing sounds from various directions: the ear flaps (pinnae), head, shoulders, etc. We won't attempt that in Pd, elsewhere we'll implement these as a head-related transfer function (HRTF) in scheme.


Early work in binaural recording was accompanied by predictions that its superior imaging would attract a huge following and everyone would eventually listen through headphones. This has yet to be proven, at least in the sense of offering a large selection of binaurally mastered works, and besides why would people want to go about their music listening with headphones on and shut out the world , anyway? Clearly we've arrived at a turning point, but for different reasons (related to massive storage and personal music gratification). The ubiquitous earbud phenomenon is begging for binaural content. For a position paper on where this may be going see Jens Blauert's AES Heyser Lecture.


An artist whose work leverages the medium of headsets is Janet Cardiff. She composes site-specific 3D audio narratives with spine-tingling interplay of real and phantom presences, binaurally produced. Her recent piece for the Hirschorn Gallery in Washington, D.C. is another benchmark opening up the possibilities of what you might compose for pod-like devices. In her earlier work for SFMOMA in 2001, the composition led participants by the nose through the gallery, each holding a camcorder in playback mode with a pre-recorded self-guided tour. You'd turn a corner and someone in your earphones would be there singing in the space (acoustically convincing, so that you could point to them) only they weren't there then, but at some other point in time, past, alternative present, or future.


The 220a homework factory isn't directed to pod players and walking around, yet (but that's a good idea for the future). Your radioplay soundfile will be suited to the tethered setup at the CCRMA workstations. Start by picking a text which might be a monologue, group dialog, or whatever you want, even a comic strip. You'll use your own voice and possibly other voices in combination, depending on the text to be read. If needed, invite others to read or use your voice for different characters. First, second or third person narratives are all fine and I'm hoping we'll get a variety from the class.


Hint: timing in the dialog track of a radio play is different that straight reading, and you'll need to leave gaps which will provide space for sound effects where appropriate


Hint#2: this assignment needs lots of intermediate files, so invent a descriptive naming scheme and stay consistent

source material

1) start jack, start audacity, set Audio I/O Playback and Record to jack-alsa

2) record a dialog track using your new mic (left channel in a stereo track) reading the text you've chosen. If more than one character, then read these other voices subsequently into separate tracks, using audacity's overdub mode (select Preferences: Audio I/O: Play other tracks while recording new one). Export dialog tracks into separate files.

3) with just your own voice, overdub another track imitating sound effects that go with the text. Export. Save the project. Quit audacity.

localization & reverb

4) for each track, create a panned stereo version. Overall, the radioplay should fill the sound field, positioning dialog and effects in different places and applying motion where appropriate.

b) start pd -jack ~cc/220a/pd/pwrAndDelPan.pd &

c) start audacity (must launch after pd), opening desired track, set Audio I/O Playback and Record to be jack-pure_data (so it accesses the Pd patch)

d) record (overdubbing) this time to create a panned version controlled by the L-R slider in the Pd patch, moving as needed in real time

e) export each panned track into a separate file

5) for each panned stereo version, create a reverberated version. This assignment requires at least three distinct reverb settings: e.g., if it were a dream sequence, the radioplay might have a narrator in a broadcast announcer booth, the voice of god speaking in a cathedral, and startling knocking on a bedroom door, all derived from reverb settings.

a) set Audio I/O Playback to jack-alsa

b) experiment with Effect: Plugin 91-105: Freeverb (version 3) to get the right sound for the three different reverbs

c) export each reverberated track into a separate file

6) restart audacity and bring in all reverb tracks, listen to the test mix. Save the project.

sound effects, time-warping, transposition

7) listen again to your original, unpanned imitation sound effects track in audacity

8) gather a collection of instruments or whatever else into tracks containing the real sound effects, recording or downloading as needed

9) manipulate at least two with the pd patch ~cc/220a/pd/phaselockedvoc.pd for time (speed) and transposition (transpo) modifications, recording the output into audacity by recording from jack-pure_data

10) move all sound effects to the same time position as in your imitation track using the audacity Time Shift Tool

11) repeat steps to pan and reverberate each sound effect track as dictated by the text

12) mix the whole project and save as hw3.wav in the usual way