Photo by Paul Herman Reller
“Mushroom is a more extreme form of an approach I’ve always used in digital music – to make the computer do as much dull mechanical work as possible so I have more time to do flashy compositional work,” explained Dartmouth Assistant Professor Eric Lyon. “One of the nice things about working with lots of complex, random tools is that after you make a ton of sounds, you can totally forget how a specific sound was actually created.”
With Mushroom, a “sound-composting” program, Dr. Lyon has roped the computer into accomplishing the kind of complicated chance operations that would make John Cage proud. “My process work prior to Mushroom had been to do one thing after another to a sound until I got something that cracked me up. I [designed] Mushroom to string my processes together because I expected that at least part of the time, it would come up with interesting juxtapositions that I might not have thought of myself. The results are often better than you might expect.”
Lyon has written about the current dilemma of digital music composers. “There are a bewildering variety of sound-processing tools and techniques…that allow [you] to hone a sound to perfection.” The danger of the “perfection” approach, Lyon elaborates, is that it bypasses the accidents and experiments that may ultimately produce more interesting results. A sound processor that incorporates random elements is described as “oracular.” With an oracular processor like Mushroom, you have no parametric control over the transformations worked upon the sound. This means that you leave all choices about duration, volume, transposition, etc. up to the computer.
When you run Mushroom on your input sound, it “pumps it through a string of randomly selected processors,” Lyon stated. You specify the input sound, a desired number of output sounds, and the processing “level” – how many times you want your original sound to be cumulatively re-processed. Each of the derived sounds will be created from a different random sequence of processors. You may not be able to recognize your original sound by the time you have processed it a few times, but you may end up with a sound far more interesting.
Just as you have no control the sequence of processors, you also have nothing to do with what the processors actually do to your sound. The processor in question does that by itself. Lyon gives as an example a process that ring-modulates a sound. You do not select the ring-modulation frequency; rather, the ring-modulator processor contains an algorithm that chooses the frequency for you.
The activity at each level of processing in Mushroom is archived in a database. All sounds derived directly from the input sound are assigned level 1. Lyon gives as an example a sound called “magic.snd.” If you request three output sounds for magic.snd, this is what will go into the database after the first layer of processing:
If you request a second Mushroom run at level 1, Mushroom will randomly select a sound from all level 1 sounds, and will then make new sounds at level 2 (these will be archived as magic_G2_1.snd, magic_G2_2.snd, and so forth). This process-and-archive routine will repeat as many times as you specify (default is three).
Once you have listened to the derived output sounds and found one that you like, you can “reconstitute” the sequence of processors that produced it. By calling a utility called Mushmimic, you can specify a derived sound, and request that Mushroom apply to a new input sound the sequence of processors that generated the derived sound. Sounds can be recreated at any level in the processing routine. The recreated sound can be saved as a Sun/NeXT sound file (“.au”).
If you wanted to use your sound file as part of a larger piece of music, you would need to import it into some other mixing program like Max or Cubase. (Lyon has also written a stripped-down “real-time” version of Mushroom for Max/MSP.)
A good example of Lyon’s compositional work using Mushroom is his 1998 piece 1981. “With 1981 I just tossed all kinds of samples and synthetic sounds into Mushroom and then organized them into what struck me as a compelling narrative drive,” he commented. Some of the processors that he used included a voice synthesizer called Festival, a virtual drum machine called BashFest, and automatically controlled Csound instruments. Festival is the creation of Alan Black and Paul Taylor at the University of Edinburgh, while Lyon wrote Bashfest himself.
To mix 1981, Lyon used an experimental mixing program by Chris Penrose called MisterMixUp. “It’s basically a poor person’s ProTools,” Lyon laughed. Mixes in MMU are represented in plain text, allowing Lyon to easily write Perl scripts that algorithmically generate MMU mix files. To hear a sample of 1981, click here.
The processing of a single sound on progressively higher levels – what Lyon calls “hierarchical” processing – can generate profound musical relationships. The same input source can give birth to apparently disparate sounds. Though the listener may not be aware of it, these deep, hidden relationships between sounds could form part of the structure of a composition.
Like JMSL and Athena, Mushroom can be personalized depending on the preferences and technical capabilities of the composer/programmer. Sound processes can be added or deleted without affecting Mushroom’s basic ability to function. For more information how this is possible, click here.
Lyon has implemented Mushroom both as a standalone Perl framework, and as a web installation that operates on purely synthetic sounds. The standalone version can use any sound as input. This version, which runs on Linux or any other Unix system, is too big to download, however, because there are too many other files involved. Mushroom coordinates approximately one hundred other programs.
The standalone version of Mushroom has no graphic user interface (GUI), and a basic knowledge of Perl is necessary to make any modifications to the program. You don’t need to know any Perl, however, to try out the web installation of Mushroom. In the fully implemented version of the site, users will be able to choose which sound file to process and then process it simply by clicking buttons. Unlike the standalone version, which relies on a command-line interface, the web version requires no text entry.