Strasheela is a highly expressive constraint-based music composition system.2 The Strasheela user declaratively states a music theory and the computer generates music which complies with this theory. A theory is formulated as a constraint satisfaction problem (CSP) by a set of rules (constraints) applied to a music representation in which some aspects are expressed by variables (unknowns). Music constraint programming is style-independent and is well-suited for highly complex theories (e.g. a fully-fledged theory of harmony). User-interface is the programming language Oz. The results can be output into various formats including MIDI, Csound, and Lilypond.
A. Textor, M. Schmid, J. Schaefer, and R. Kroeger. QUASOSS '09: Proceedings of the 1st international workshop on Quality of service-oriented software systems, page 47--54. New York, NY, USA, ACM, (2009)