The Siren system is a general-purpose framework for music and sound composition, processing, performance, and analysis; it is a collection of about 350 classes written in Smalltalk-80 (40 kLOC or so). Siren 9.0 works on VisualWorks Smalltalk (though the bulk has been ported to other dialects as well); Siren supports streaming I/O via OpenSoundControl (OSC), MIDI, and multi-channel audio ports. The Siren release is available via the web from the URL
http://FASTLabInc.com/Siren.
Siren is a programming framework and tool kit; the intended audience is Smalltalk developers, or users willing to learn Smalltalk in order to write their own applications. The built-in applications are meant as demonstrations of the use of the libraries, rather than as end-user applications. Siren is not a MIDI sequencer, nor a score notation editor, through both of these applications would be easy to implement with the Siren framework.
There are several elements to Siren:
* the Smoke music representation language (music magnitudes, events, event lists, generators, functions, and sounds);
* voices, schedulers and I/O drivers (real-time and file-based voices, sound, score file, OSC, and MIDI I/O);
* user interface components for musical applications (UI framework, tools, and widgets);
* several built-in applications (editors and browsers for Smoke objects); and
* external library interfaces for streaming I/O and DSP math (sound/MIDI I/O, fast FFT, CSL & Loris sound analysis/resynthesis packages )