Wind Carol

It’s that time of year again. Christmas is coming, snow is falling outside my window, and the wind is whistling.  Maybe it’s late, or my mind is playing tricks on me, but the wind seems a bit more coherent than usual… Musical, even. Creepy.

This is how I’d like to imagine the first Christmas–even the wind crying out. And doing so subtly, not unlike the whispering symbolic language of babies and cattle stalls.

The idea came about from the desire to manipulate various parts of the built environment to create music as the wind is blowing. Maybe change the orientation of a sheet of metal, the size of some opening, etc. With a feedback loop, the system could progress through a melody once it detected that the desired notes of the sequence had been played. Although a composer could control the content, the weather would determine the tempo. A listener may have to wait weeks or months for the piece to complete without sufficient wind.

In the meantime, I created the above synthetic version of what I imagine it could sound like (though the song above would probably have to be recorded somewhere in Antarctica). The synthesized version uses a custom patch written in Pure Data to shape the frequency of white noise to follow a midi file of choice.

Pure Data: The Swiss Army Knife of Audio

After a weekend workshop (thanks to Hans-Christoph Steiner and Eyebeam) on Pure Data, I’ve been tinkering with it quite a bit lately and geeking out on old signal processing stuff I haven’t touched since college.

Over the years I’ve played with a number of tools for audio processing: Matlab, jMusic, a Java library for algorithmic composition, Nyquist, a Lisp-based synthesis/analysis environment, Beads, another Java library for synthesis and analysis, and Supercollider, another synth/analysis environment with smalltalk-like syntax. All of these are powerful tools, but aren’t as engaging in terms of interactivity. Having been forced to use LabVIEW in the past, another dataflow language, I was initially reluctant to pick up another, but for audio work, it’s been great. It is so easy to try new ideas without any need to recompile. It’s a lot like playing with a running circuit.

So far I’ve used to to analyze sound and control some lighting panels to create a reactive environment, synthesize tones for my invisible chimes project, and do some other synth experiments. This brief subtractive synth test uses filters to shape pink noise into hazy tones forming a chord. synth2 tinkers with sample playback and ring modulation. Next up, granular synthesis to build some instrumental Christmas music?

Other Useful Audio Software

Jack is a great tool for routing inputs and outputs on your system. It has made it really simple, for example, to send the output of iTunes to Pure Data, which allows me to sample chunks, process them, and mix it back into songs playing. I made a small program that samples chunks of the last song and then injects them into the new song when it detects beats. It also supports plugins, so you could use Pure Data as a signal processor for other programs like Logic.

Wiretap Studio is really useful for capturing any sound source on your system, doing basic waveform editing, fades, effects, and exporting to any other sound file format.

RjDj for the iPhone is a program that lets you download (and create, using Pd) “scenes” that generate music or process environmental sound and play it through the headphones. For example, one might identify that fan humming along at 300 Hz and re-inject overtones to change its timbre.