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.