The
Siren Music and Sound Package in Smalltalk
What is Siren?
The Siren system is a general-purpose software
framework for sound and music composition and production; it is a re-implementation
of the Musical Object Development Environment (MODE), the software
component of the Interim DynaPiano project. Siren is a collection
of about 250 Smalltalk classes for building sound/music applications;
it work on VisualWorks Smalltalk running on Macintosh, Windows, and UNIX-based
computers with support for MIDI and audio I/O.
The source code and documentation files are all available for file
transfer from the directory pub/Siren on the server ftp.create.ucsb.edu
(i.e., the URL of the directory is
ftp://ftp.create.ucsb.edu/pub/Siren) or via the down-load links below.
There are several elements to Siren:
-
the Smoke music representation language (music magnitudes, events, generators,
functions, and sounds);
-
voices, schedulers and I/O drivers (real-time and file-based voices, sound
and MIDI I/O);
-
user interface components for musical applications (UI tools and widgets);
and
-
several built-in applications (editors and browsers for Siren objects).
OK, but what does it sound like?
There are excerpts of my pieces
on the web (also in MP3 and WAV format) here.
What files are there to down-load?
Siren7.2.tgz -- The Siren version 7.2 BETA tarball
(source parcels, doc files, demo data, etc.).
Siren_Workbook.html -- The on-line
doc and self-guided demo outline contents (also available as
a PDF file).
2003 ICMC Paper -- A brief update on
recent work in Siren.
Siren.GUI.Tour.html -- A web-based
tour of the Siren user interface tools (Squeak verison 2.3).
Siren.OOPSLA98.paper.pdf --
A short paper describing Siren from the 1998 ACM OOPSLA conference.
Siren.OOPSLA98.slides.pdf --
Presentation slides from the Siren talk at the 1998 OOPSLA conference.
What Other Documentation is there?
The Siren mailing list is here.
The Siren home page is at CREATE
at UCSB.
There are several on-line Smalltalk tutorials, including
here,
here,
and here.
Other references to related software can be found in Stephen Pope's
publication
list.
What is the Difference between the MODE and Siren?
I tend to re-implement my tools every 5 years or so, and to rename them
at that time. Since I started using Smalltalk in 1983 (or maybe it was
1984, I can't remember), I've called the tools DoubleTalk, HyperScore
ToolKit, MODE, and, now, Siren.
Each of these generations reflected my interest at the time, so DoubleTalk
included facilities for algorithmic composition using Petri Nets and wrote
score files for compilation with cmusic, while the HyperScore ToolKit supported
MIDI and focused on real-time interactive composition.
The MODE is written for ParcPlace/ObjectShare's VisualWorks/Smalltalk
system, and is best suited for algorithmic composition and digital sound
file mixing and processing. It was completed in 1992, and has been extended
very little since then. It is still available from the CREATE FTP site
and works with current VisualWorks systems.
Siren (the name is not an acronym) is written for the VisualWorks
Smalltalk system. Siren is still in-progress,
but already supports MIDI I/O as well as sound synthesis and sound file
processing.
Where's More Documentation?
Various versions and components
of Siren's predecessors (The HyperScore ToolKit and the MODE) are documented
in the book "The Well-Tempered Object: Musical Applications of Object-Oriented
Software Technology" (S. T. Pope, ed. MIT Press, 1991), in papers in the
Proceedings of the 1986, 1987, 1989, 1991, 1992, 1994, 1996, and 1997 International
Computer Music Conferences (ICMCs), in an article on the "Interim DynaPiano"
in Computer Music Journal 16:3, Fall, 1992 (heartily recommended--it's
also on the web), in the book Musical Signal Processing (C. Roads,
S. T. Pope, G. DePoli, and A. Piccialli, eds. Swets & Zeitlinger, 1997),
and in several documents on the Web page http://www.create.ucsb.edu/~stp/publ.html.
There are more MODE- and Smoke-related documents (including several of
the above references) in the directory ftp://ftp.create.ucsb.edu/pub/Smalltalk/Music/Doc.
The Siren virtual image also includes an "outline" text for a brief
introduction to, and self-paced demo of, the system. New users are encouraged
to read and experiment with the Siren outline (the text contents of which
are also included on the FTP site).
History
Siren and its direct predecessors stem from music systems that developed
in the process of my composition. Of the early ancestors, ARA was an outgrowth
of the Lisp system used for Bat out of Hell (1983); DoubleTalk was
based on the Smalltalk-80-based Petri net editing system used for Requiem
Aeternam dona Eis (1986); the HyperScore ToolKit's various versions
were used (among others) for Day (1988), and the MODE was developed
to realize Kombination XI (1990) and Paragraph 36: All Gates
are Open (1993). In each of these cases, some amount of effort was
spent-after the completion of the composition-to make the tools more general-purpose,
often making them less useful for any particular task. Siren--a re-implementation
of the MODE undertaken in 1997-8--is based on the representations and tools
I'm using in the realization of Ywe Ye, Yi Jr Di (in progress).
If Siren works well for other composers, it is because of its idiosyncratic
approach, rather than its attempted generality.
[Stephen Travis Pope, stp@create.ucsb.edu]
Created: 1997.11.08; LastEditDate: 2003.12.23