I545/N564/N364 Assignment: Adding Variable Sustain to a Real Acoustic-instrument Note

Donald Byrd, rev. 2 Feb. 2007

Naturally, musicians want to play any sound that doesn't decay quickly for any length of time; synthesizer designers comply, but doing so isn't easy with the complex sounds of real acoustic instruments and "sampling" synthesizers, like the Kurzweil 250, which I helped develop (and which I discussed in my class last semester). Of course, the basic problem is the same regardless of whether the "synthesizer" is a piece of mostly-digital hardware, or a program running on a general-purpose computer. The basic problem is also the same regardless of the speed of the CPU involved and the amount of memory available for samples, but more speed and memory can make things a lot easier. The K250 came out in about 1984; even though it sold for well over $10,000, its CPU ran at 10 MHz and it had only 2 MB of ROM for all its samples. In contrast, the state-of-the-art (and comparably expensive) Vienna Symphonic Library now has over 300 GB of samples, some 150,000 times as much! And it expects to run on computers that are many times faster.

To my knowledge, all digital sample-based synthesizers work in basically the same way, along the same lines as the "ADSR" (attack, decay, sustain, release) model of analog synthesizers of the 1960's. The decay is optional, but the sampling synths always expect separate attack, sustain, and decay "files". The sustain can be repeated as many times as necessary including a fractional number -- i.e., it can be interrupted in the middle -- and, if it's a sound that naturally gets softer over time, like the piano, the amplitude can be changed each time so the end of the sustain matches the beginning. Of course the amplitude of the decay is also adjusted to match.

One of my main duties as an engineer for Kurzweil was developing sounds for the K250 in complete sets, covering the range of a given "real" instrument. Your assignment is to develop one sound for a similar sample-based synthesizer. Using any note from the University of Iowa Musical Instrument Samples (http://theremin.music.uiowa.edu/MIS.html), try to create separate attack, sustain, and decay components; all three played in sequence should sound good with any number of complete repetitions of the sustain (don't worry about jumping from the middle of the sustain to the decay), perhaps with the sustain reduced in amplitude by a fixed ratio each time, and the decay reduced accordingly. Feel free to modify the original recording any way you like, using any techniques or programs you want, with one exception. As you may know, there are now rather sophisticated programs that look for good loop points in an audio file. Unfortunately, using such a program is against the rules.

The point of this assignment is to help you develop a feeling for what's important to our ears in a complex sound, as opposed to what looks like it should be important. What you're trying to create can be thought of as a compressed representation of the main part of a sound (everything but the attack and decay) that preserves the perceptually-important features. Here are a few tips on how to do it.

This is an advanced problem, but I'd rather you try it and get nowhere than be scared off; I'll grade based on effort, not results. Don't expect to make something that sounds anywhere near perfect, but do the best you can! Send the three files you come up with, plus a description of what you did, to John and me.