Stephen Pope stp_at_create.ucsb.edu
Tue, 4 Mar 2003 12:50:54 -0800
Hello Squeakers!
I'm very glad that there's renewed interest in MISI/Sound in Squeak. I
haven't done anything there for about a year, so the last stable
version of Siren and the MIDI plug-in was for the 3.0 release.
Unfortunately, shortly after 3.0, TedK made some changes to the
ReferenceStreams that broke the SMS database (which is used by Siren),
and the plug-in interface changed so the MIDI plug-in won't load any
more.
Because of a never-resolved design difference between John Maloney and
me, Siren as-is won't run with the built-in minimal Squeak MIDI I/O. I
should add, however, that the bulk of the core of Siren
(MusicMagnitudes, Functions, SampledSounds, Events, EventLists,
Schedulers, etc.) is quite stable (most of the code here dates from the
late-1980s); it's the GUIs and MIDI/sound I/O that are
platform-specific and some of which were never ported to Squeak.
About a year ago, I ported Siren "back" to VisualWorks non-commercial
(vwnc) and have been quite busy there with a couple of students. We
don't use MIDI, however, but, rather, the UCBerkeley CNMAT's OSC (Open
Sound Control) protocol, which is like MIDI for adults. It runs over
UDP sockets and is supported by a number of controllers and software
synthesis packages (e.g., Max/MSP, SuperCollider, Reaktor, etc. as well
as our own CREATE Signal Library, CSL). We use Siren for score
management and interaction, and send OSC control messages to
distributed synthesis/DSP engines.
The reasons we moved to vwnc are mainly (1), performance and stability,
(2) performance and stability, and (3) its support for CORBA, OODBs, a
working ParserGenerator, a "standard-style" GUI builder, mature tools,
etc. I'm afraid I can't agree with Craig's points that (1) users need
intimate VM access and (2) that Squeak is fast enough for heavy-duty
Music work.
I've sent the vwnc port to a few friends, but haven't made a formal
release, since it is a work in progress, and it doesn't support MIDI or
sound I/O. It's really focussed on being a music modeling framework
that interfaces with CORBA-based input sensors and OSC-based synthesis
engines, so it's probably not appropriate for users who want to build
MIDI tools and will complain about missing features. That being said, I
could post a tarball of it to my web site of more users are interested.
With respect to hardware, I used Siren/Squeak with a MIDIMan USB/MIDI
interface with good results.
stp
--
Stephen Travis Pope -- http://create.ucsb.edu/~stp
>> [OSC] is supported by a number of controllers...
>
> Which ones?
The Kroonde interface sends out OSC --
http://www.la-kitchen.fr/hardw/kroonde.html
A Student of mine (Dan Overholt) has built a system called the MATRIX
(http://www.create.ucsb.edu/~dano/matrix) as well as a wireless sensor
interface that uses OSC (http://www.create.ucsb.edu/~dano/wireless)
Two other studfents ported the tracking and glove sensors developed for
our ATON VR system (http://www.create.ucsb.edu/ATON/) to send OSC.
--
Stephen Travis Pope -- http://create.ucsb.edu/~stp
Hi David--
> Squeak or VisualWorks?
I recommend Squeak, because with this sort of work one invariably needs
to virtual machine access/mutability at some point (and sometimes via
simulation, at that).
> a particular Midi interface?
Any should suffice; I like the MIDIMan 1x1 USB interface, just because
it's so small and portable. Having proper MTC support is good, too.
I'm doing things with MIDI in Squeak. My latest project was writing a
driver for the CMLabs MotorMix.
just for the record:
I have been working during the last months to a port of GeoMaestro to
Squeak. It will not be ready before a couple more months, though, but I
thought I could announce this anyway, would someone comment on this.
What is GeoMaestro ? an experimental MIDI composition environment based on
KeyKit, described in the following documents:
http://www.zogotounga.net/GM/paper1.html
http://www.zogotounga.net/GM/paper2.html
http://www.zogotounga.net/GM/GM0.html
As for the Squeak port, here's a presentation (in French) of its current state:
http://www.zogotounga.net/comp/doc/poster.htm
I'd like to include Siren support/interaction, but I don't know enough of
Siren yet and it seems buggy/unfinished in some parts (at least in its
Squeak port). Is it still being developed ?
* MIDIFileWriter download:
http://minnow.cc.gatech.edu/squeak/1406#Audio
* A MIDI editor for squeak I worked on (with an original composition in
the image):
http://swiki.cc.gatech.edu:8888/uploads/compMusic/55/Squeak3.image
http://swiki.cc.gatech.edu:8888/uploads/compMusic/55/Squeak3.changes
Let me know if you need any more help!