COMPUTER ASSISTED COMPOSITION - BACKGROUND
CAC software can be found under "Downloads"
Composers frequently use computers as sketchpads while composing their music. By letting a computer immediately play back their score; they create an aural model of the performed music. Computer Assisted Composition (CAC) goes beyond this elementary use of computers. In CAC, computers solve basic tasks based on composers' instructions. In this way the computer becomes the composer's assistant.
I have been active in CAC since 1997 when I first approached rule-based computing techniques. I was met by comments that rule-based systems can be applied on structuring musical pitch, but that rules for rhythm are harder to formalize (i.e. less is said about rhythm in music theory). This challenged me and I started to create a system for rule-based composition exclusively for rhythm.
The head of the Musical Representation Team at IRCAM in Paris, Gerard Assayag, and composer Brian Ferneyhough encouraged me to develop my ideas further. IRCAM offered me a position as a Composer on Research during 1998. The result of my work at IRCAM was the OMRC library (Open Music Rhythmical Constraints), an extension to the Open Music visual programming language developed at IRCAM.
1998: OMRC - OPEN MUSICAL RHYTHMICAL CONSTRAINTS
The main idea in OMRC was to work with additive rhythm. A central concept was to let the user define basic rhythm motifs and to treat these as units. By using motifs of different lengths, the user could choose to predefine the rhythm language to different degrees (the extreme being "motifs" with only one duration which contain a very low degree of rhythmical identity).
Another important concept was to create hierarchical relationships within the rhythmic structure. The hierarchy could be between voices in a polyphonic structure, or between events in a single voice. Rules restricted how rhythms could be put inside a metric framework.
The system solved a type of puzzle where metric weights were crucial parameters for the solution. Other linear and vertical rhythm constraints were possible to define.