|I am currently completing a composition project entitled `Gilgamesh`. This work is an hour-long theatrical
multimedia work for violin, live signal processing, pre-composed electroacoustic music elements, interactive mechanical sculptures, video, and
puppetry. This paper intends to discuss the aims and general design of the digital audio processing (DSP) system used in `Gilgamesh,` which I have
named the `Juicer` (Figure 1).
The purpose of the Juicer system is to provide an integrated system for managing the electroacoustic elements of `Gilgamesh.` This includes playback of pre-composed computer music, sampling microphone input for playback later in the work, playing those and other samples in synchronization with microphone input, and management of an array of DSP modules (nine in all). The entire Juicer system was created in the Max/MSP environment.
The DSP portion of Juicer consists of (1) nine signal processing modules which are interconnected in a highly reconfigureable way, (2) an interface for adjusting or performing DSP in realtime, (3) a simple method for programming preset combinations of effects and their parameters, and (4) the ability to `morph` from one setting to another over a specified period of time.
Although it was created specifically for performance in `Gilgamesh,` the Juicer system was designed in a modular fashion in hopes that many of its
elements and possibly the entire system will be useable in future projects. In fact, nearly everything visible on the main Juicer interface is the
`face` of a separate module. Each module of the system was built as a separate Max/MSP patch and then imported into the final interface via the
`bpatcher` object. Moreover, within each module the interface and `engine` of the processing mechanism were separated. Thus the final interface
presents a large, orderly, easily modifiable array of controls and none of the necessary but visually distracting processing algorithms (Figure 1.)
However, although the interface presents a wide array of sliders, pop-up menus, buttons, and number boxes for activating and adjusting all of the DSP modules, it would be quite a complicated task for one to regularly update the values in each of these in a coordinated fashion in order to follow a composed score of effects implementation. To drastically simplify this task during a performance, a deceptively simple interface named `DSP Presets` is the facade for a command center that activates preprogrammed effects configurations and controls movement from each one of these to the next (Figure 2.)