The typescript for chapter 3 is provided in AutomatedComposition03.pdf.
Chapter 3 describes compositional methods which allow no discretion to a composing program. These include techniques of manipulating elementary material such as pitch or duration sequences. They also include the passage-processing operations which one would expect to find in MIDI sequence editors and graphic score-transcription editors.
Literal procedures are by far the easiest compositional processes to implement as composing programs. The rub is that the fact that a variant can be derived from an original hardly guarantees that the variant and original will combine well together. While composing programs are certainly capable of ensuring compatibility, that kind of discrimination falls way beyond the techniques described in this chapter. Procedures so capable are not explored until the final chapter of this book.
The heart of literal selection is the elementary chore of iterating through a sequence (e.g. a tone row or a rhythmic pattern) in the order of its element. My implementation model for this chore is the SEQUENCE feature of Gottfried Michael Koenig's Project Two.
More advanced techniques include transformations and productions:
The implementation strategy taken in this chapter utilizes FORTRAN arrays, thus limited to strictly linear collections defined at compilation time. In later projects such as my 1984 COMPOSE system (a pedagogical editor/interpreter in the tradition of Project Two), I adopted a dynamic structure of nested lists and generalized operations to accept such nested lists as input. For example, the expression
(C E G) + ((C) (F) (G))evaluates to
(C E G)(F A C)(G B D).
COMPOSE was implemented on an Apple Macintosh Plus, and has long since fallen out of use. However, the Musical Calculator presented on this site does provide an interactive demonstration of literal nested-set operations.
Contemporary antecedents to automated literal selection: Arnold Schoenberg, Joseph Schillinger, Olivier Messiaen, Pierre Boulez, Milton Babbit.
Automated literal selection: Direct implementations — Barbaud, Hiller. Real-time composition: Emmanuel Ghent, Laurie Spiegel. Literal Utilities: Leland Smith's SCORE, William Buxton's SCED, Barry Truax PODX.
The practical programming content of Chapter 3 was provided by Demonstration 1: Literal Selection. This program generated four resultants, each created by phasing a six-element pitch sequence against a nine-element duration sequence and a nine-element articulation sequence. Operations employed include inversion, retrograde, durational augmentation, and sequence rotation.
|© Charles Ames||Page created: 2017-03-12||Last updated: 2017-03-12|