Hot answers tagged algorithmic-composition
Getting into tracker software might another approach. You could consider the tracker score notation the programming language, and the tracker player the complier/interpreter. There are plenty of music modules (songs) you can load and play with. These are shared all the time. You can use tracker software out of the box to edit your 'input music' (E.g. ...
See this SO question. I'm not sure if this is exactly what you need, but it might help. Because I'm just linking another question, I'd normally put this as a comment. However I don't have commenting permissions on this site (yet).
Besides Haskore which is already mentioned in the paper you refer to and the ones mentioned by other, there is "supercollider" and "pure data". I absolutely understand you question. I've been looking for such a high-level thing myself. Here are my personal thoughts on this: I haven't found anything good and came to the conclusion, that there are no ...
One can consider Lilypond to fit in this mold: although it is more focused on typesetting music, it can output a MIDI representation of the score. However, I find that, in terms of basic usage, it is not easy to achieve expressive effects in the midi output. In addition, it has no real-time capabilities. I mention it primarily since it may provide ideas ...
I am not sure if they include all of the features you require. But the java jmusic library is quite extensive, I think that would be your best shot. Otherwise other options would be JFugue, music21 (python) or the visual programming language CSound, from ircam, also very extensive.
I think Overtone has what you're looking for and more. It's a Clojure library that acts as a powerful front-end to SuperCollider. It may take a while to learn how to use it (especially if you're new to Clojure), but once you do, it's quite powerful and flexible. You can do things like define a melody as a sequence of scale intervals, and then combine that ...
Édouard mentions OpenMusic, somewhat similar, and descendant of PatchWork is PWGL (http://www2.siba.fi/PWGL/). Looking at what you need from a language it might be useful especially 'constrains' part of PWGL. Learning curve is steep (LISP) but well worth your time. Some great external libraries for rhythm manipulation too. good luck
Only top voted, non community-wiki answers of a minimum length are eligible