previous up next
2.2 Computer aided composition

The western culture has always maintained a close relationship between music and numbers [AC95]. Music analysts admit that most composers use both calculations and intuition in variable proportions. Until the eighteenth century, music, as a science of numbers, constitutes a field of theoretical speculation and practical experimentation for a great number of intellectuals, may they be composers or not. Mersenne in his treatise Harmonie Universelle poses the question if it is imaginable to compose the best chant possible. The answer is negative: the number of possible chants is too big, the composer can only proceed using trial and error. Developing the idea of musical combinations further in the seventeenth and eighteenth century, lead to the idea of automating certain aspects of the musical composition, to the fabrication of the first music machines (arca musurgia by the German Athanasius Kircher around 1650), and to musical games, such as the Musikalisches Wurfespiel by Mozart.

As opposed to the generation and processing of audio signal by the means of digital signal processing, or to the instrument-level computerized interaction by the use of Musical Instrument Digital Interface (MIDI, [Loy85]), systems for computer aided composition (CAC) focus on helping the composers (and often the musicologists as well) to formalize and experiment with the deep structures and the dynamics of their musical languages. This approach was envisioned by Ada Lovelace in the end of the 19th century when she realized that the unachieved computing machine designed by Babbage should be able to manipulate symbols as well as numbers, and, by computing relations between symbols, could become someday a composing machine for several artistic disciplines including music. When this prediction became eventually true, in the late fifties, the first computer music applications were essentially formal and algorithmic [Hil70,Xen90,Bar86]. In the following years, the computer music people's interest shifted massively to sound synthesis and processing [Mat69] then to real-time interaction. The ``modern'' CAC approach, appeared in the eighties, was favored by the progress in computer languages, architectures, and graphical user interfaces and the emergence of personal systems.

The Formes program [RC84], although mainly devoted to the control of sound synthesis, was really a compositional environment, with a high level object oriented architecture.

Crime was written in LeLisp in a Unix environment, and designed by G. Assayag and composer C. Malherbe. The recent availability of the Apple Macintosh and of cheap MIDI systems had become tempting at that time. A series of software prototypes on the Mac, partly derived from the Crime project and expertised by such composers as Tristan Murail and Magnus Lindberg, took a final form with Mikael Laurson's original idea to bring a graphical programming interface to Lisp. This form was the PatchWork environment, by M. Laurson, J. Duthen and C. Rueda [MJ89]. The combination of programming simplicity, highly visual interface and personal computing concept created a real infatuation for PatchWork among European composers with highly diverse musical and aesthetic backgrounds. PatchWork is a visual interface to the Lisp language. As such, it is a purely functional language, except that some functions may retain a local state and provide a graphical editor for inspecting and editing this state.

Developed during the same period by Francis Courtot, CARLA was an attempt to use a visual programming interface to a Prolog-based logic programming system [Cou92].

OpenMusic, designed by G. Assayag and C. Agon [GCFP97,Ago98], is a visual interface to CLOS, the Common Lisp Object System. Aside from being a superset of PatchWork, it opens new territories by allowing the composer to visually design sophisticated musical object classes. It introduces the Maquette concept which enables high level control of musical material over time and revises the PatchWork visual language in a modern way.

Additional environments for CAC include Loco [DH88], Common Music [Tau91], and Artic/Canon/Nyquist [DR86,Dan89,Dan93] and DMix [Opp96]. We will discuss aspects of these environments in more detail in the next chapter where we will focus on the issues in the organization and manipulation of time.

previous up next