Schnolgo is a musical composition system. It has a number of unique features, including a way of handling polyrhythmic timing which provides a flexibility one cannot easily achieve with traditional sequencing programs or sound programming environments. Currently, Schnolgo is in the form of a Python package, and its main output format for compositions written in it is MIDI.
libjdkmidi was originally a collection of utility functions for MIDI written for the Atari ST computer. It has since evolved into a fairly powerful C++ MIDI library. It features MIDI parsing, MIDI Show Control message creation and handling, Standard MIDI File type 0 and type 1 reading and writing, timestamped MIDI message and System Exclusive encapsulation, Efficient MIDI Track objects for sequencing, MIDI Track objects for editing MIDI events, MIDI message process chains, containers for multiple MIDI Tracks with iterators, and much more.
FrAid (Fr[actal] Aid) is a programming language that is appropriate for mathematical computations, visualization, batch processing, and more. It features both a standalone application that provides a programming environment for the language and a system for integrating the language with Java. The Java interface allows mathematical equations and formulas to be used with Java code, making it easier to process numerical computations, symbolic computations, imaging, CAD, and more.
FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications. It can read MIDI events from MIDI input devices or files and render them to an audio device using SoundFont instrument banks. It can also play MIDI files. Other features include real time effect control and a powerful API for embedding FluidSynth in other programs.
Audiality is a highly scalable and portable audio engine and synthesizer. MIDI files are used in combination with scripting and modular synthesis, to minimize file sizes and maximize flexibility. Audiality can be used as a music and sound effects player in multimedia productions, or as a realtime MIDI synthesizer.
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).