Siren 1.31 Beta Release--ftp://ftp.create.ucsb.edu/pub/Smalltalk/Music/Siren

Stephen Travis Pope stp at limbo.create.ucsb.edu
Sat Feb 21 06:59:24 UTC 1998


Hello all,

The beta-test release of the Siren 1.31 package is now available from
ftp://ftp.create.ucsb.edu/pub/Smalltalk/Music/Siren. Other sites may be
mirroring this in the near future. (What happened to the UIUC Squeak ftp
archive, anyway?) This is a pre-release for those wanting to test the MIDI
output and learn the Smoke language while we port the GUI applications over
to Morphic (for which we're looking for collaborators!).

Introduction
============

The Siren system is a general-purpose music description and composition
system; 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 Squeak Smalltalk class libraries for
building musical applications; it is known to work on Squeak version 1.31
running on an Apple PowerPC-based Macintosh computer with support for the
Opcode MIDI System (OMS) drivers and CD-quality stereo audio I/O. (I develop
on a G3 PowerBook with 64 MB of RAM running MacOS 8.1 and OMS 2.3.3.)

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 and MIDI I/O);
    -- user interface components for musical applications
        (UI tools and widgets); and
    -- several built-in applications 
        (editors and browsers for Smoke objects).

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).

What's There?
=============

In this release, I've included a complete pre-built Siren/Mac VI/VM. In the
future, I plan to provide this solution (for those who don't want to have to
build it from scratch), and also complete file-ins and incremental changes
relative to the first full release of Siren.

The directory contents are,

README -- RTFM File (Not the same as this letter--read it).

Siren1.31Image.sit.hqx -- The image, changes file, PowerPC VM, and test data.
            (It expects you to put a Squeak sources file [not included] 
            in the same directory before running it.)

Siren1.31OMSStuff.sit.hqx -- The Opcode MIDI System (OMS) driver, utilities, 
            and developer libraries.

Siren1.31STSrc.sit.hqx -- The Smalltalk file-in sources & build scripts.

Siren1.31VMSrc.sit.hqx -- The VM & MIDI primitive sources. Note that the 
            project file is for CodeWarrior V11 (thanks to John McIntosh).

SirenOutline.t -- The on-line doc and self-guided demo outline contents

SqueakOutline.t -- The Squeak intro outline contents.

If you already have the OMS MIDI driver, you really only need the virtual
image files. If you don't have OMS, then grab the OMS Stuff archive file as
well. If you want to re-build the VM, get the VM sources. To file Siren into
your own image, get the Smalltalk sources. Please read the README files in
each of these archives for more directions.

RTFM
====

Please read the on-line documentation. There is an "outline browser" in the
top project of the virtual image with an extensive self-guided tour of what
works in the current Siren release. User suggestions are solicited as to what
should be included here

For more documentation, see http://www.create.ucsb.edu/~stp/publs.html and
follow the "MODE" links, or look at the files in the ftp directory ftp://ftp.create.ucsb.edu/pub/Smalltalk/Music/Doc. 

Notes
=====

Siren uses the AndreasRaab/SamAdams MS-Windows look; it still has a few
rough edges (particularly with the Transcript and window label refreshing).

The Siren VM included with the release comes up "full screen" on a Mac--that
is, I hacked the MacWindow source to make a full-screen window with the origin
just above and to the left of the normal menu bar position.

Because of a bug I haven't solved yet, you cannot run a jitter-based VM
that uses the OMS primitives. (To make a jitter VM, just edit the 4
"Interpreter..." files in the ST Source folder to file them in to the class
DynamicInterpreter, then generate the translator file.) You can call the MIDI
open/close/test functions fine, but it crashes in the first GC after you try
to play a MIDI command--just as if I was stepping on someone elses memory in
the output primitive, but I can't see where I'm doing this...

I'm not certain what the best forum for discussing Siren is, For the
near-term future, I'll be reading the squeak mailing list (mail to
squeak-request at cs.uiuc.edu to join). The list's archive can be read at
http://squeak.cs.uiuc.edu/mail/squeak/. In the future, I might set up a
mailing list for Siren-specific discussions, or use a Swiki or a HyperNews web
site. (Suggestions?)

Coming Soon
===========

--Working MIDI input (I'm real close...)

--(Hopefully) Ports of the MIDI primitives to other platforms (any takers?)

--Working AIFF and SND file reading/playing

--Complete double-dispatching and mixed-mode arithmetic for music magnitudes

--Exception-handling integrated with schedulers and DSP code

--Morphic score & sound editors

--Examples of using functions and event list processing

--Incorporate Hitoshi Katta's and Craig Latta's enhancements to the MODE.

--Ports of a ParserGenerator (TGen?) and Rule-based shell (NeOpus? HAT?)

--Gemstone database access for sound/score storage

--Loads of bug fixes



Enjoy--comments, suggestions, and *changeSets* welcomed!

stp


_ Stephen Travis Pope
_ Center for Research in Electronic Art Technology (CREATE)
_ Department of Music, Univ. of California, Santa Barbara (UCSB)
_ stp at create.ucsb.edu, http://www.create.ucsb.edu/~stp/





More information about the Squeak-dev mailing list