If you were making music with a Macintosh in the 1990s, chances are SoundHack was an important part of your sound-mangling toolbox. It's an exceptionally rich and powerful tool, and it was one of the first attempts to make some of the esoteric "computer music" techniques being developed in studios and labs around the world available on a home computer. After more than a decade of development, SoundHack may be showing its age, but creator Tom Erbe hasn't stopped dreaming up strange and wonderful ways to manipulate sounds. Tom's a very busy guy — in addition to writing lots of software, he's also an ace contemporary music recordist (Bob Ashley, Chris Brown), a professor at CalArts, and co-director of The Center for Experiments in Art, Information, and Technology (CEAIT) — but he was kind enough to spend an afternoon gabbing about software, records and the joys of discovering new sounds.
Let's talk about SoundHack. First of all what's up with your versioning scheme? It's at what, .888888?
The current version, I think, is .892. You look at software marketing, where they feel sort of compelled to release a new version every year. SoundHack is never going to reach completion, so at 1.0, the software will be complete — and it's never going to reach that point.
The features have kind of stabilized at this point.
At a certain point I reached so many lines of source code that it just got too big to add anything else. And also the structure of the software got a bit out of date.
So it's not like you're adding new wings to the SoundHack mansion.
No, there were a couple things that told me it was time to stop doing SoundHack. First of all, it has this very simple architecture. It's just a filter that takes things in and sends them out. So it's a simple architecture, which is kind of nice, but I thought if I were to develop more I'd really want to make it possible to do much more than that. Like I'd want to give it some sort of patchable structure, maybe like MAX. I think there's still a place for non- realtime processing, but at that point I thought this should really be something more modular.
Also the fact that if you wanted control over time you'd have to do it via a file, which is a remnant of a time when that was your only option.
Right, it was designed with the ideas of the early '90s. It reached a point where it was sort of pointless to keep going in that direction. You know, I could have just kept adding more and more sound processing types to that, but I thought, 'That's it for that.'
Let's talk about the various functions in SoundHack. What's in there?
There's the binaural filter, which is a method of using filters that emulate your ears and allow you to place monaural sounds at any angle around your head. Spectral dynamics is a process which takes the sound apart and then applies dynamics processing on each band separately, so as each band passes the threshold it has its own response to the compressor, expander, noise gate or ducker.
It's kind of like having the output of a bank of bandpass filters hooked into your board and tweaking each one.
It's an FFT, so it gives you up to 8192 bandpass filters that are then fed into 8192 dynamics processors, and then reassembled with the inverse FFT. Now, convolution is a method of multiplying two spectra together to get a new sound, which emphasizes the things that the two original sounds have in common. So it's as if one sound resonates through another sound. Like singing into a piano. One of the sounds could be the impulse response of a room. You pop a balloon in a room and you get the impulse response recorded and then you can use that impulse response in convolution, you can send one sound through that room response and get the sound of the sound in the room. That's how people most use convolution now, as a reverb.
That's a pretty easy way to think of it, as a reverb or room simulator. But then you can move on to other sounds, like the duck playing through the banjo.
If you walk into a room and you clap your hands and you hear a duck quack, and then you play instruments in that room, that duck quack room, then you have a little different reverb. At that point you should probably stop thinking of it as a reverb.
There's the mutation functions in SoundHack.
The mutation functions are something Larry Polansky and I experimented with. It's a set of algorithms for taking two sounds and selectively combining the two sounds' spectral components to make a new sound, a lot of which have randomness built into them. The mutation functions were more just trying many different ways of doing the combinations and seeing if any of them have interesting spectral effects. The spectral extraction is not...