Siren: Software for Music Composition and Performance in Squeak Stephen Travis Pope Center forResearch in Electronic Art Technology (CREATE) MusicBuildng, University of California, Santa Babara, California, 93106 USA stp@aeateucsb.ech http /www.create ucsb. edu/-stp/ Abstract Squeak is a new implementation of the Smalltalk programming enviionment. It was dveloped at Apple Labs, and has been ported to a variety of omputers. Compared to other Smalltalk systems, Squeak has four important featues: (1) portability (to the Macintosh, Windows PCs, and many flavos of UNIX), (2) speed (it uses native C for computeintensive cod), (3) price(fiee, indudng all source cod!); and(4) sophistication (full Smalltalk-80 language, libraies, and tools, with many useful extensions). The Siren system is a new object-oriented(OO) software tool kit for music applications. Siien's d&sign was drived from the authers 14-years of experience buildng Smalltalk-basedmusic tools. The intention is to support music composition, dgital soundsynthesis andprocessing, and live pefomanacs within a free, portable, high-level software tool kit. This paperwill briefly introdcae the Squeak system, and then dscuss the d&sign of Siren. An on-line d&monstration of Siteniunning on a lap-top computer is planned for the presentation at ICMC. Both Squeak and Siren are available in source codw free via Internet ftp from the site ftp://ftp.createucsb.edu/pub/Smalltalk/Squeak/. 1 Introduction The Squeak implementation of Smalltalk was dbveloped at Apple Labortories by a group that consisted of several of the original &dsigners of the Smalltalk system (Alan Kay, Dan Ingalls, Ted Kaehler, et al.). Squeak is a "full-scale" Smalltalk implementation, and inducds all of the stancdrd dass libraies and dvelopment tools. The Silen package in Squeak is a member of the DoubleTalk/HypeiScoreMODE family of systems dbveloped by the author since 1983. (The name Silen was suggested by Curtis Roads; it is not an acronym.) Siteninducbs the following components: * the Smokemusiciepresentation language; musicmagnitucd modils (time, pitch, loudness, etc) events and event lists, event genertIors (pitoodural or stochastic stieam-like composite events), event modfieis (functions that can be applied to event lists) and software to iead/write Smoke from/to many othermusic formats, * dasses for ieal-time soundsynthesis; 00 modls for synthesis andprocessing, * soundandMIDI /FO support; ieal-time /FO voices for many interchange formats, * note list I/O for non-teal-time synthesis packages; lead/writecmusic, cmix, or csound scores, * GUI-basedtools for score/soundmanipulation pitchtimedagrams, hierarchies,DSP, etc Compatedto eadier Smalltalk music kits, Siten has moie sophisticated modls of the basicmusic magnituwbs, flexible eager or lazy function application, a new user interface paradgm, and a complete mocdl of objects for mochlar soundsynthesis a la Music V. 2 The MODE History The Musical Object Development Enviionment (MODE) was written cdling the authors sojourn at the STEIM Institute in Amsterthn in 1990; it was &dived from the eardier HypeiScore ToolKit (see ICMC 1987) The intention was to provicb a portable system that couldperform leal-time MIDI and sampled soundFO on a number of platforms (Macintosh, Sun, andPC). The MODE inducbd a simple object-oriented music representation language, dives for MIDI and sound/O, and a collection of graphical user interfaces for various musical applications. Throughout its life, the MODE was plagued by dfficulties supporting the I/O dives on moie than one platform The Macintosh MIDI dives weie only partially functional, and Sun failed to support MIDI at all on its new Solaris operating system. The complexity of buildng interfaces to C codc in the PatcPlace Systems, Inc VisualWorks Smalltalk implementation madc it even haider to perfoim dgital sound synthesis or processing from within the MODE. During 1991 and 1992, a group of language dsigners met at the CCRMA Center at Stanford University and the CNMAT Center at U. C., Beikdeey to formalize and extendthe MODE's representation language This project ledto the Smoke language, which was dbscribedin a paperby the author in the 1992 ICMC Proceedings. 3 Siren Extensions to the MODE Over the past five years, a number of weaknesses in the Smoke language and the MODE's implementation of it have become appaient Otherproblems surfaedin the MODE's built-in applications andinterfaces. Thesewill each be introdicedbelow. 0
Top of page Top of page