I have been asked to take a piece of music (which I already have in LilyPond), and mirror it vertically. That's to say, to take each note which is n semitones above middle c and replace it with the note n semitones below middle c, and vice versa.
Before I start trying to write a function to do this, I thought I'd ask if anyone has or is aware of a snippet which can already do this?