|
Some Constraint Satisfaction Problems in Computer Assisted Composition and Analysis
1 IntroductionConstraint programming (CP) is an artificial intelligence technique which rose a growing interest during the last ten years, both on the academic and industrial sides. CP allows to represent a problem by specifying some partial information on it. It offers a powerful and intuitive way of describing and solving combinatorial probems. As applied to music, several working systems and theoretical studies have been proposed : automatic harmonization (Ballesta, 1998; Pachet and Roy, 2001; Codognet and Pachet, 2001), assistance to composition (Laurson, 1996; Rueda et al., 1998), just to name a few. This paper intends to describe some experiments about the use of constraint programming techniques for musical composition. Our goal is to build a constraint programming system for composers. This work thus belongs to the fields of Computer Assisted Composition (CAC) techniques. CAC is now a well-established research area (see Assayag, 1998). It deals with a symbolic representation of music, mainly at the score level (or before), in opposition to sound synthesis, accoustic, etc. CAC provides the composer with computing tools to handle with formal representations of music and make calculation on these. One of the recent CAC softwares is OpenMusic (Agon, 1998), a full visual programming language based on CommonLisp / CLOS, developed at IRCAM. OpenMusic is a functional, object, visual programming language. A set of provided classes and libraries make it a very convenient environment for music composition. OpenMusic is developped jointly by computer scientists and composers, which gave us the opportunity to consult musician users about the use they could do of CP, before developping a CP system. We started working with composers on their Constraint Satisfaction Problems (CSP), or, precisely, on their compositional problems that could be modelled as CSPs. This gave us both a catalogue of compositional CSPs and a panorama of the way composers can use this AI technique. The main goal of this paper is to detail |