Faking My Way through the Electroacoustic World


I admit it:

I’m not as good at electroacoustic music as I should be. I can program. I can write music. But I’ve never been good at putting them together.

To this date, I have done three projects that involve live electroacoustic work: Steel Symphony for Contemporary EnsembleInnocence, and The Party. Steel Symphony is the ultimate example of electroacoustic work. Daniel Curtis (danielnestacurtis.com) and I dreamed up 3 live effects that we could put on 10 instruments that would be able to multiply the perceived size of the ensemble, allowing us to orchestrate an 80 musician symphony down to 18 musicians. We dreamed up the effects, but tasked the multi-talented Alexander Panos to execute them. It was similar with Innocence: I dreamed the effects I wanted on the narrator’s voice, and Samir Gangwani (samirgangwani.com) brought them to life.

So, when I was told, recently, that my portfolio’s greatest weakness was the lack of involvement of electronics, I was not surprised. I could never make the programs I needed for electroacoustic work. So I didn’t.

The problem is (my excuses are…)

A lot of the music world (including Alexander and Samir) uses a program called Max, which is an amazingly powerful tool. It is a visual programming device that can modify sound immensely with only a couple of commands. You don’t have to know very much about digital-signal processing, WAV files, none of it. It’s beautiful.

So why haven’t I made my own patches? Why haven’t I used Max? Well, this is a good time to talk about The Party. The Party, in short, is a piece that uses the distribution of people in a room to generate random beats. For example, if there are more people at the bar, the beats are more “trippy;” if there are more people on the dance floor, the beats are more groovy… In theory, at least. But basically, the computer takes in info through the camera, processes it, uses that info to manipulate a sound library, and then sound comes out. Easy.

Could I have used Max to do this? Yes. Did I? No. Partly because this piece was a project for a programming class (15-112 #CMU), which required me to program in Python. But also, because of this class, and because I was raised by two engineers, I was trained to think like a computer scientist. So I used Python to make this program.

And now we come to why…

Max and I live in dissonance.

Before I go on, let me be clear that, if I had done an extensive lesson in Max and all of its facets, I might not run into these problems. I admit it, a lot of my complaints come out of my own laziness.

HOWEVER, especially in the last year, as I’ve tried to build some pieces of software in Max (they’re called “patches”, ok? Patches), I’ve run into some reoccurring issues. First, a couple of standard effects, like reverb, delay, and pitch bending are not readily available. There are patches from the examples and the internet that you can copy and paste to make them, but I feel a software specifically made for sound manipulation should have these effects as fundamental building blocks.

Second (and this is my REAL reason for not buying into Max), the program doesn’t follow standard computer logic.

Here’s an example:

I’m working on this piece that I want to have take in the sound of a viola and output a very dense cluster chord of pitches (microtonal, between notes). That is, if the violist plays an A-440 Hz, the program will take that pitch and output the viola’s sound at 439, 438, 437 Hz, etc. AS WELL AS 441, 442, 443 Hz, etc. Think of it as a densely packed ball of sound. To do that using Max, I used an online example that used Fast Fourier Transforms (a standard for pitch bending technique, referred to as FFT) to get the job done. It doesn’t require a big block of code to use, but it’s not a small one either.

Then, when I went to route through these transforms over and over, I ran into the logical dissonance Max and I have: a computer programmer would build a loop that processes the signal over and over and bump up the amount it bends the pitch each time. It would be quick and efficient (on the fingers, a workout for the computer). Max, however, needs you to copy out each time you want to bend that signal. And while there are ways to condense down the body of the code, you still need to literally route that signal each time you want to bend it.

For my non-programming readers, here’s the sum of it so far: what takes 15 copies of the same piece of code in Max only takes 3 lines of code in Python. And 3 is less than 15, so that means Python wins.

Now here’s where we learn why people don’t use Python to begin with: Python is an insanely versatile tool that has been used to make anything from games to lab research tools to dumb calculators. But because it’s not made for just electroacoustics, it’s much more raw in its handling of sound. But that doesn’t stop me from using it.

See what I do about it next…

One thought on “Faking My Way through the Electroacoustic World”

Leave a Reply

Your email address will not be published. Required fields are marked *