I'm looking for a high-level programming language. I did some googling and found a number of examples (some summarized here http://users.soe.ucsc.edu/~sasha/proj/musicpaper.pdf) but haven't found quite what I need.
The key feature I'm looking for is that the language will let me create music based on some input material (a melody), and then lets me specify the rest of the piece as a series of transformations on the initial input material. The types of transformations I'm looking for are fragmentation (specify a subset of the original), transposition (change pitch), augmentation and diminuation (change duration), inversion (change direction of intervals), retrograde (change order).
Does something like that exist?
UPDATE: I'm currently trying with music21 (http://web.mit.edu/music21/). It will probably allow me to do this, but probably not in such a way that it will be straightforward to edit or read.