Homework 5: FFT-based Real-time Tracking

due on 11/19 (Tue) on Homework Factory

Overview

Play something into your mic and use real-time tracking to convert your sound into computer-generated sound. The computer sound synthesis can be borrowed from previous assignments or can use new, untouched sound-generating techniques. Work on sections of three types: (in any order) rhythm, scored and free. For each type, record two takes.

Historical overview of spectral representation of periodic signals: Fourier Series

Our signal analyzers compute a spectral analysis of the input sound using the Fast Fourier Transform (FFT) unit generator. For more math, see Fast Fourier transform on Wikipedia.

Sound Materials

Input Sound

The input instrument can be anything, a toy instrument, your own instrument or voice, or any sound you care to pick up with the mic. Many people choose to bury a hydrophone inside a watermelon. An electric instrument hooked up directly is ok, provided the gain is appropriate (check by listening to a recording).

Computer Sound (familiar)

Up through the last assignment, techniques have included waveform generators (sine, sawtootch, triangle, etc.), a variety of physical modeling instruments, sample-based instruments or FM synthesizers.

Computer Sound (new)

See the following (as of yet) untouched techniques:

Tracker Scripts

Investigate the following ChucK script in the starter code first:

These all pipe the audio input (mic or instrument) through an FFT which feeds trackers for amplitude, pitch and spectral centroid. Those changing quantities control the computer-generated sounds. Output is two channels: left side is the input sound and right side is the computer-generated sound. For the following sections, customize these templates according to the computer sound you want and your input sound's range of amplitude, pitch and spectral bandwidth.

Structure with Three Types of Sections

Free Sections

Improvise. Record two differing sections where anything goes as long as it doesn't resemble the two following types of sections. About 30” or so, each. To record your real-time control or performance, use StereoRecorder code.

Rhythm Sections

Play along with a rhythm track or tune which you listen to while recording. One recording should use the same computer sound used in the free sections, the other should be a different computer sound.

Scored Sections

Right-click the blue download button below to save an audio file. This is your randomly-selected nature recording. It's quite long but less than one hour. Load it up in audacity or snd and you'll be listening to a stretch of time from the Arctic National Wildlife Refuge from a few years back. Sketch a “listening score” which gives you a timeline of events in the recording using any representation. Using spectral display, look at the recording for help with locating events (snd is especially useful for this).

Random Download
Right-click to save link as flie

Perform your score but compress its entire duration to under 1 minute. The idea is to record two sections again, but this time to take care of any overlapping sounds which are (presumably) there e.g., mosquitoes and water sounds would require a mosquito section and a water section. Record one track for one set of events which you've marked off in the score and record again for the other. Interpret your score very flexibly: the small events in the nature recording can be cues for much bigger things which you play and which you play proportionally much longer.

To summarize this process:

  1. Make a score of the randomly-chosen recording which is a timeline of events (possible talking, airplane, mosquitoes, animals, wind, water, etc.) - it will likely be polyphonic (multiple overlapping events)
  2. "Render" a sped-up version of your score in 2 passes with your instrument/mic/tracker/chuck sound setup
    • Choose one set of events in the score and record one section (track)
    • Choose another set of events and record the second section (track)
    • Each section should comprise the entire length of the score sped up to fit the whole thing in under 1 minute
  3. If the chosen recording just isn't polyphonic (no overlapping sounds at all), then do two passes with slightly different interpretations of the score.

Turn in

Assemble the six recorded sections according to your taste. Overlap them, cause big surprising shifts, find fusions and contrasts. Always use the computer-generated tracks but feel free to mix in the input sound if adding such spice helps make the final preparation more interesting. As before, use four channels for the final sound stage and render to binaural. Reverberate and move sounds, if appropriate. (hint: the homework 3 technique can be driven by a real-time tracker e.g., spectral centroid to control location)

Delivarablesdue on 11/19 (Tue)
  • Stereo audio file (.wav) - binaural-encoded stereo
  • All intermediate audio files (.wav) - mono audio files you created along the process
  • ChucK source codes (.ck) - the codes only you wrote
  • Score - a scanned or photographed sketch as a PNG file (use IMG tag to embed image on your web page)
  • HTML page (hw5.html) - includes links to all the files above.