Playmidi is a curses and SDL-based MIDI file player for Linux and MacOS (windows support planned)
It supports software rendering of midi files via SDL audio and can also output midi events to external midi devices (in time with SDL audio soft synth) via both alsa sequencer api (linux) and coremidi api (osx).
Soft synth rendering supports sf2 files (soundfont 2.0) but does not require any sf2 files to be installed for sound. Fallback output is available via sine/saw/triangle/square wave synthesis. Math-based synthesis is planned to evolve over time to support most of the features found in a minimoog voyager, and wavetable based sf2 support is expected to evolve to properly emulate all the features of a roland sc88 (but not there yet).
Additionally there are issues with some sf2 files, but currently most development in the git tree has happened with one you can find via google search called Scc1t2.sf2. It provides a good starting point for those without external midi hardware
Be the first to post a review of Playmidi!