The Advanced Linux Sound Architecture is composed of several parts. The first is a fully modularized sound driver which supports module autoloading, devfs, isapnp autoconfiguration, and gives complete access to analog audio, digital audio, control, mixer, synthesizer, DSP, MIDI, and timer components of audio hardware. It also includes a fully-featured kernel-level sequencer, a full compatibility layer for OSS/Free applications, an object-oriented C library which covers and enhances the ALSA kernel driver functionality for applications (client/server, plugins, PCM sharing/multiplexing, PCM metering, etc.), an interactive configuration program for the driver, and some simple utilities for basic management.
jMusic provides a library of classes for generating and manipulating music, and is a solid framework for computer assisted composition in Java. jMusic supports composers by providing a music data structure based upon note/sound events, and methods for working with that musical data. jMusic can read and write MIDI files, audio files, and its own .jm files. jMusic is designed to be extendible, encouraging you to build upon the functionality of jMusic by programming in Java to create your own music composition tools.
libmidixx is a C++ library to manipulate MIDI sequences. It is intended for a multimedia application that handles playback, recording, and editing of MIDI sequences, though the current version just implements playback only. libmidixx supports OSS, ALSA, and serial (tty) MIDI ports, and also comes with a user-space sequencer implementation, which does a fair job on a lightly-loaded machine.
Sfront compiles MPEG 4 Structured Audio (MP4-SA) programs into efficient C programs that generate audio when executed. MP4-SA is a standard for normative algorithmic sound, which combines an audio signal processing language (SAOL) with score languages (MIDI and SASL). Under Mac OS X and Linux, sfront supports real-time, low-latency audio input/output and MIDI input. Under Mac OS X, sfront supports the creation of AudioUnit plug-ins. The documentation includes a book about SAOL programming.
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).
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.
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.