![]() |
Out of Egypt:Halfway to the Promised Land"God is a place you will wait for the rest of your life." |
May 28, 2007
the shape of music, part II (my computer program proposal)
Here is the basic concept for the "In C" program, which I provisionally call "Cell Music," as copied from my notebook (with a minimum of expansion and elucidation at this time, since I have been writing for over an hour by now):
The program has two modes - Cellmapping (which looks like a hybrid between a circuit diagram and a flowchart, a la some simulation programming languages (which uses jigsaw pieces to indicate the sequential rules which govern an object's behavior)) and Timeline (which looks like Premiere, etc.). (The latter may be problematic, because of the potential for indeterminacy (as discussed below), but seems necessary, in some form, both to ease the learning curve and to help align the various tracks (called "performers") in the piece (to adjust when they enter and exit relative to each other, to adjust volume levels, etc. - though this could also be done by rules, the current status of one performer affecting another).)
In the Cellmapping mode, one creates the individual cells (melodic units, as in the "In C" score) which make up the piece and strings them together in the order in which they will come in the piece. The fascinating part of this, and the advance over conventional notation, is that you get a wider view of the piece than you would looking at the melodic line (presented as a line broken to fit on a page). Furthermore, cells can be linked with other cells in such a way that the computer, when performing the piece, will go to one cell or another based on conditions (rules). There can also be "pause" or fermata cells which break the music for a certain amount of time - preset, random, or rule-based. Finally, cells can be grouped into supercells which indicate the macrostructure of the piece (ABAB form, etc.). Start and end cells, set to trigger at a particular time or under certain conditions, determine how a piece will begin and end (although a piece can be made lacking an end cell, which, if its last cell is joined to its first, will play endlessly).
There are three kinds of tracks which can be created in the program: Pulse/Accompanist (either rhythmic (drums) or harmonic (bass, piano, etc.)), ---/Soloist [find better name?], and Filter. The last of these does rule-based manipulations of the sound coming from the other tracks - flange effects, echo/reverb, volume adjustments, etc. (whether because of the sound of the performance as a whole at any given moment, or because of settings associated with any particular cell that is sounding at that moment). The first of these fills the basic time-keeping/harmonic function which the "Pulse" (either piano or vibraphone) does in Riley's piece. Rather than cells, a Pulse track has "states" between which it switches based on the behavior of the other tracks/"performers" (similar to the Filter track). The second of these fills the melodic function of the various soloists in Riley's piece - its "look," which reflects its function, has been discussed in the previous paragraph. Any Soloist track can be cloned, so that the framework (the order in which the computer is instructed to move from cell to cell) is the same. This also is like "In C," where the players proceed through Riley's cells in the same order, though they enter canonically, one after another. (This behavior would be replicated in my proposed program through the use of start cells in the higher-numbered Soloist tracks which were programmed to trigger after a certain number of measures, a certain amount of time, or when a certain cell was playing in a lower-numbered track.)
Besides "In C," I'd like to see if this concept could adequately represent/produce disparate musics such as Ravel's Bolero, folk tunes, Bach-like fugue, Romantic-style sonatas. I'm pretty confident, after listening to the radio this afternoon, and thinking about pop music as it would be represented on the "cellular pegboard," that this is all possible. Only things like Schoenberg, Messiaen, and perhaps Debussey, would be excluded (well, and some chance musics - though chance elements can always be added to the basic deterministic structure of a cell-based music, both through probabilistic rules and "improvisational" cells).
There is more to the concept, but I'm getting tired. If anyone's interested, I'll post further about it later. (I only wish I could upload my drawings.) Just a few other features I'd like, to give you a taste (now I'm not rewriting into sentence form):
- Score writing: 12-tone coloring system (shows consonances and dissonances over any particular cell, scale, or chord; shows range of any chosen instrument; can superimpose cells to show what "would be" sounding at any given time - to help conceive of the polyphonic totality
- Can take MIDI piece and notate it, then convert to Cell Music representation through decomposition into phrases
- Could be used in composition to set strophic verse
- Visual presentation: GUI shows mood colors based on what cells sounding at any given time (correlated with what state Accompanist tracks are in)
- Soloists can spawn other performers (Accompanist and Soloist) under certain conditions, creating an infinite music (until the limitations of one's computer are reached - as with multithreading systems that keep recursively calling themselves)
- Program can keep record (both in MIDI and conventional notation) of music produced on each performance of a piece (framework)
- Ability to sync with movie/animation/simulations
- Ability to improvise in individual cells (capture individual styles (pianistic, etc.)), move between cells, mutate/permute cells based on mathematical rules (i.e., cellular automata, etc.)
- Mutate cells: canonic variations (retrograde, invert, transpose, etc.)
- Optional/potential notes in cells (grace notes, trills, variation on repeat, etc.)
- Dynamically generate a score for a live performance, keeping display of it (for each performer) a little ahead of where the performers are in the piece
- Ability to conduct the program (setting tempo/pulse, switch between cells (as with Essl's Lexikon-Sonate and mAze))
- Cells of different lengths synced on different solo tracks
- Comp tracks improvise based on chord symbols assoc. with individual cells or off of the "polyphonic totality" (yet would need to know where the piece as a whole is going in order to do so intelligently - if chance elements in framework, program could calculate slightly ahead of where it played, so the accompanists could keep up, modulating properly, etc.)
Posted by donovan at 7:33 PM | Category:
