A COMPOSER'S AMANUENSIS FOR THE WEB
Matthew Malsky
Clark University
Department of Visual and Performing Arts
950 Main St.
Worcester, MA 01610-1477
mmalsky @ clarku.edu
Abstract:
This paper describes MIDI composition software that facilitates a transformative algorithmic method. After a brief
discussion of the compositional model and objectives, these tools are examined in detail and their operations
explicated by way of an extended musical example. The paper ends with a discussion of the Internet as a means to
store the software's output, and to foster exchange among composers using the software.
1. Introductory Notes
This paper begins with a description of a collection of MIDI software tools that facilitate a generative algorithmic
compositional method based on principles of musical variation or transformation (Rowe 1993, Winkler 1998). After
a brief discussion of a compositional model and objectives, the two principle of these tools will be examined in
detail: a data structure for an abstract representation of a theme or 'musical object' and a template for composing
variations (or transformations) upon musical input. These tools are written in the graphical programming language
Max, and are presented as an application within the frame of a Max 'patcher.' In the second section of this paper, the
musical utility and operations of this method will be examined through a short musical example. Seven
transformations (variations) on a musical object show the design of transformative functions and their musical
results. This section will conclude with a discussion of means provided for the combination of these resulting
transformations. In conjunction with a standard web browser, musical objects and transformations may be stored
independent of the original Max 'patch,' as part of a database on an Internet-accessible server. The third section of the
paper will describe the use of the Internet as a storage medium.
2. The compositional method
These tools will allow a composer to build new, consanguineous musical "objects" from existing ones. These
objects, the building blocks from which a composition may be built, are the progeny of Pierre Schaeffer's objets
musicaux, Varesian 'sound masses' and Ralph Shapey's 'graven images.' An object, as a self-identical form, has the
potential to be altered (varied, embellished, dissected, juxtaposed, overlaid, enlarged, and fragmented) while still
retaining its essential, ontological musical identity. These material building blocks are created through a cyclical
process of statement and modification/variation, and are then combined into a larger form. Within the scope of
operations of this algorithmic environment, musical objects are statements to be shaped and combined to meet the
requirements of this larger context, the compositional design, which makes demands upon its component parts. Good
fit, a composer's judgment in light of a "programmatic clarity" of a composition, is a necessary property. Form, or a
composition's logical internal constitution, results from clarity in using a compositional language (Alexander 1964).
3. The data structure and transformation engine
At the core of this composing method are two principle software tools. A data structure is an object which abstracts
a MIDI representation of a musical object into a matrix of parameters for processing, collectively called
transformation data. Second, a tranformation engine can be used to design and compute alterations to transformation
data, and return a new object.
Through the data structure object, MIDI input (either in the form of a Standard MIDI file or a live performance)
becomes array of events and relationships, the grist for the transformational mill. Transformation data describes the
events in an object in terms of two classes of musical parameters, STATIC and DYNAMIC. There are five STATIC
classes: PITCH, VELOCITY, GATETIME, RELEASE and POSITION. There are four DYNAMIC classes:
APITCH, AVELOCITY, AGATETIME, and ARELEASE. The STATIC parameters are concerned with the
measurable musical characteristic of each given event of an object while DYNAMIC parameters measure aspects of
the movement between successive events. Pitch and velocity are both notated in CSound's octave point pitch-class
form (Vercoe 1993). Timing information is notated as beats plus parts of beats. Additionally, editable object
constants include STEP SIZE, the resolution of the quarter note (default is 480), MIDI CHANNEL (which is
initially set according to the original input), and TEMPO. INITIAL PITCH and INITIAL VELOCITY are used as
starting points for DYNAMIC calculations.
0