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 result was the OMRC library (Open Music Rhythmical Constraints), an extension to the Open Music visual programming language developed at IRCAM.
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). Rules restricted how rhythms could be put inside a metric framework.
Different voices could be treated as a polyfonic structure or as underlying ("invisible") rhythm layers that interact with the performed rhythm. This made it possible to define hierarchical relationships between events in a linear rhythm sequence. 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.
When composing with OMRC, it soon became obvious that it is necessary to include pitch in the calculation to make more precise musical sense. In 2004 I moved over from Open Music to the PatchWork GL visual programming language when developing the next step of my research. Patch Work is the "ancestor" of OpenMusic, and it is developed at the Sibelius Academy in Helsinki. My present research uses my own Patch Work Musical Constraints (PWMC) extension to PatchWork GL.
In PWMC a composer can define relationships between pitch, rhythm and metric framework. It is for example possible to express traditional musical concepts such as:
- notes on downbeats have to be consonant (i.e. the relationship between pitch and the metric framework)
- the largest allowed melodic interval at sixteenth notes is a major third (i.e. the relationship between rhythm and pitch)
- syncopations are not allowed over bar lines (i.e. the relationship between rhythm and metric framework)
- etc...
It is also possible to express less traditional concepts such as:
- an morphological energy peak should occur after 10 notes in the melody
- 35 % of all durations should be sixteenth notes
- etc...
Any mix of these concepts is also possible.
The objective of my research is to create my own music. An early example of using OMRC in a composition is Amanzule Voices for cello and live electronics. In this piece all rhythms where put together using the OMRC library. Since OMRC does not handle pitch, these where composed on top of the generated rhythm score.
Whirl of Leaves for flute and harp was composed using the PWMC library. Melodic phrases, rhythms, harmonic progression, definitions of consonants and passing notes and relationship between the two voices are all controlled by the PWMC system. Even though it was not primary my purpose to strictly follow the computer's suggestions, the score of Whirl of Leaves is very close to the structure that the system generated. My main work with this composition was to understand and find relationships between parameters in the score.
For more information, see under the "Articles" tab. Software can be found under the "Downloads" tab.
