1 research outputs found

    HIGHER-ORDER CONSTRAINT APPLICATORS FOR MUSIC CONSTRAINT PROGRAMMING

    No full text
    This paper studies how constraints are applied to the score in a musical constraint satisfaction problem (CSP). How can we control which variable sets in the score are affected by a given constraint? Our overall objective is to produce a highly generic music constraint system, where users can define a wide range of musical CSPs, including rhythmic, harmonic, melodic and contrapuntal problems. Existing systems provide constraint application mechanisms which are convenient for specific cases, but lack generality and cannot be extended by users. As a result, complex sets of variables are hard to constrain in these systems. For example, constraining notes from different voices in a polyphonic setting (e.g., with harmonic constraints) is inconvenient or even impossible in most systems. We propose an approach which combines convenience with full user control: higher-order constraint applicators. A constraint is a first-class function, while a constraint applicator is a higher-order function which traverses the score in order to apply a given constraint to variable sets. This text presents constraint applicators suitable for a many musical CSPs, and reproduces important mechanisms of existing systems. Most importantly, users can define their own constraint applicators with this approach
    corecore