LegaSynth is an old chip/synthesizer emulator on top of an advanced software sound synthesis programming framework. It currently emulates the Yamaha DX7 FM Synth, the MOS6581SID (C64 soundchip), the Yamaha 2xxx FM series (very common in some personal synths, arcades, and the Sega Genesis), and the TB303. It supports the ALSA Sequencer API for midi input, and OSS/ALSA and JACK for output. A GTK graphical interface is provided to take full advantage of the synth, as well as for managing presets, patches, and banks, etc.
Q-Midi is a MIDI interface module which allows you to write MIDI applications in the Q programming language. It runs on top of Grame's MidiShare package. Most basic MidiShare functionality is available, including timing functions for realtime programming and MIDI file access. A sample MIDI player application is included (which requires Tcl/Tk).
Scheme Note is a Scheme-like music file format and MIDI conversion tool. It takes a text file, which is a representation of a song, loosely tied to a MIDI-like event structure, and outputs a corresponding MIDI file. It is hand-editable for simple songs, and should be very easy to parse for a GUI.
MidiKeys is a little application that displays a piano keyboard onscreen. You can click the keyboard or use the computer keyboard to play MIDI notes. The keyboard window can be made to float on top of other applications and supports transparency. Also, MidiKeys will optionally set up hotkeys for the computer keyboard so you can play notes in other applications (such as a sequencer) without having to switch back to MidiKeys. It works great on a PowerBook!