I've got a travel-size violin (by Bill Whipple) that I mess around with. I like a lot of traditional and celtic music, and I wanted something that would provide both a visual and aural rendition of a song to help me learn it.
Looking around, I found ABC (see John Chamber's page and
tutorial), which is a simple, ASCII notation for sheet music.
There are lots of software tools for processing ABC; my favorite
is abcMIDI (which I've packaged in my Gentoo overlay and is
also packaged in the Sunrise overlay). abcMIDI
provides several
useful programs:
abc2midi
: ABC to MIDI conversion, to listen to your music.yaps
: ABC to PostScript conversion, to look at your music.midi2abc
: MIDI to ABC conversion, when you can't find ABC source.
My favorite ABC tune repository is The Session, but there are also search tools and repositories listed on the ABC homepage and JC's page.
To make playing ABC files as easy as possible, I've written a little
script, abcplay.py, which uses abc2midi
to generate a MIDI file
for each tune and then plays them with timidity++. Because the
processing is so similar, abcplay.py
also plays LilyPond files,
using lilypond
to convert them to MIDI. Run
$ abcplay.py --help
for usage information.