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.
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.
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.
Rosegarden is an audio and MIDI sequencer, score editor, and general-purpose music composition and editing environment. It is an easy-to-learn, attractive application that runs on Linux. It is ideal for composers, musicians, music students, and small studio or home recording environments.
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.
Smurf is a GTK-based SoundFont editor. SoundFont files are a collection of audio samples and other data that describe instruments for the purpose of composing music. SoundFont files do not describe the music itself, but rather the sounds of the instruments. These instruments can be composed of any digitally recordable or generated sound. This format provides a portable and flexible sound synthesis environment that can be supported in hardware or software. Note that Swami is the successor to Smurf and is an entire object-oriented rewrite of it.