Week 10

From Expressive Computing


Project 3 Progress Report

Each group/individual will report their progress on Project 3.

Reading Discussion

Cage was bafflingly prescient, given that he gave this as a lecture in 1937 (!).

Key quotes:

  • "It is possible for composers to make music directly, without the assistance of intermediary performers."
  • "The 'frame' or fraction of a second ... will probably be the basic unit in the measurement of time." Did Cage predict the sample?
  • "...present methods of writing percussion music..." Is "sequencing" audio more like percussion than other kinds of composition?
  • "The principle of form will be our only constant connection with the past." Cage is talking about inventing new forms here... relate this to Oulipo reading.
  • "If this word, music, is sacred and reserved for eighteenth- and nineteenth-century instruments, we can substitute a more meaningful term: organization of sound." (my emphasis) And what are computer programmers but glorified organizers? We take disparate elements and put them in some kind of order.

Digital Audio: A Primer

So far we've worked with image and text. In this, the final section of the course, we're introducing some basic (but powerful) tools for applying the same methodologies to sound.

Some examples of relevant work (played in-class):

  • Alvin Lucier, I Am Sitting In A Room
  • Laurie Spiegel, Viroid
  • R. Luke Dubois, Billboard (More)

Sound is vibrations in the air. Computers capture sound as "samples" of air pressure. Playback is achieved by reproducing the air pressure values.


Get it here. We'll be using it from the command-line in the lab, but feel free to download and use the Windows or OS X versions. (They have fancy GUIs, but work pretty much the same.)

Why csound? It's a cumbersome language, but nonetheless it makes it easy to put together algorithmic pieces with code. Because we can run csound from the command-line, it fits in with the workflow we established when doing text analysis with Python. Its audio engine is clean and precise, and because you can run it asynchronously you can create pieces of unlimited complexity.

Nevertheless, csound does suck at a number of things--live performance, especially. If you're interested in interactive audio applications, you'd be better off checking out some of the software linked to below.

In-class examples

Download here. We'll be building on these examples in Week 12.

Other audio software worth investigating

Excluding the obvious commercial software packages (e.g. Reason, Live, etc.):

  • SuperCollider: smalltalk-like syntax, for composition and performance
  • ChucK: C++-like syntax, tuned for live-coding
  • Pure Data: a visual programming environment for all kinds of multimedia
  • Max/MSP: like Pure Data, but expensive and polished

Sound libraries for Processing:

  • Minim: simple yet powerful library for audio input/output in Processing (some synthesis also) - included in the latest versions of Processing!