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.
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.
jMax is a visual programming environment for building interactive real-time musical and multimedia applications by allowing the user to interactively design dataflow circuits. The basic data types that can go through are integers, symbols, lists, etc. It is an event-driven system and has been used for MIDI processing. A second part of the system (DSP) allows a continuous signal to flow through a circuit, which is most useful for PCM sound (ie. microphone, sound files, etc.). The system is extensible by using shared libraries, you may add data processor types, data types, GUI elements, device types, and more. Data processors may also be designed as circuits and reused.
Swami is an instrument patch file editor using SoundFont files that allows you to create and distribute instruments from audio samples used for composing music. It uses FluidSynth, a software synthesizer, which has real time effect control, support for modulators, and routable audio via JACK. This project supersedes the Smurf SoundFont Editor, and is an entire object-oriented rewrite of it. The supporting libraries are GUI-independant and can be used in your own programs for doing SoundFont manipulation.
SynthTest is a somewhat simple application for OS X that allows you to pick a MIDI source, a MusicDevice AudioUnit, and an Effect or MusicEffect AudioUnit to play with. You can open an edit window for both the synth and effect. If they do not have a custom edit GUI, the generic editor view will be used. SynthTest has a reference implementation of preset support for Audio Units. It is primarily intended to be used by Audio Unit developers for testing purposes (the source is available), although it can be great fun to play with all by itself. It is complete enough to be used for live performances.
Hydrogen is a simple real-time Drum machine/sequencer. It features a graphical user interface based on Qt, a sample-based audio engine, Jack/ALSA/OSS/PortAudio and Export to disk audio drivers, ALSA MIDI input, ability to import/export XML-based song and drumkit files, 192 ticks per pattern, 16 voices with volume, mute, solo, ADSR, and pan capabilities, and import of samples in wave, au, and aiff format.
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.
Csound is a powerful and yet easy to use musical synthesis package. Csound was constructed in the tradition of so-called music-N languages, among which the best-known is Music V. It consists of an orchestra- and score-driven executable, written in C for portability. Since Csound is a computational language, it is highly flexible and efficient; complexity is gained only at the expense of computation power. Basically, Csound reads some files and creates the result as a sound file on disk or, on faster machines, in real time through a DAC.
Nyquist is an elegant and powerful language for sound synthesis and music composition. Unlike score languages that tend to deal only with events, or signal processing languages that tend to deal only with signals and synthesis, it handles both in a single integrated system. It is also flexible and easy to use because it is based on an interactive Lisp interpreter. You can design instruments by combining functions (much as you would using the orchestra languages of Music V, cmusic, or Csound). You can call upon these instruments and generate a sound just by typing a simple expression. You can combine simple expressions into complex ones to create a whole composition. It runs under any Unix environment, MacOS, Windows 95, and Windows NT, and it produces sound files as output (or direct audio output under Windows).