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.
Beast is a powerful music composition and modular synthesis application. It offers multiple input methods like multitrack, piano roll, and pattern editing and supports skins. On the technical side, it has a wide range of abilities like sequencing, unlimited undo/redo history, real-time synthesis with multiprocessor support, full duplex 32-bit audio rendering, precise timing down to sample granularity, on demand loading of partial wave files, on the fly decoding of various sample formats, aliasing free oscillators, and full Scheme scripting support.
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.
KeyKit is a multi-tasking interpreted programming language (inspired by awk) designed exclusively for realtime and algorithmic MIDI manipulation. KeyKit's GUI provides several dozen tools for algorithmic music experimentation, including a multi-track sequencer and drum pattern editor. The GUI and all tools are completely written in the KeyKit language itself. This allows users to add new tools and operations to the existing tools, even while the system is running. Complete C source code and precompiled executables for Windows and Linux are provided.
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.
Melys is a MIDI sequencer application for ALSA. It records, plays back, and saves to a MIDI file or to an XML-based format. There is a track view where you can arrange parts using drag-and-drop and a piano-roll view where the same can be done with notes. There is also a graphical tempo view where the tempo of the song can be changed. Multiple files can be open at once, and notes can be dragged between them. It is written in C and uses the GNOME/Gtk+ widget sets.
Paloma is a program to manage an SQL database of digital music files, and facilitate their retrieval and playback in interesting ways. It works with music files of any form -- MP3, Ogg Vorbis, MIDI... whatever you've got a player for. Paloma makes it easy to rip your entire CD collection and store it on your hard disk (or a collection of CD-Rs) for instant random access; playlists can then be generated using arbitrary SQL commands.
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.