LilyPond is a program which
converts music definition files into visual or auditive
output: it can typeset formatted sheet music to a TeX
file and (mechanical) performances to MIDI files.
Features include multiple staffs, meters, clefs,
keys, lyrics, versatile input-language, cadenzas
beams, slurs and triplets.