Squeak 2.2 Sound and MIDI Features
Maloney
johnm at wdi.disney.com
Mon Oct 5 15:55:33 UTC 1998
Squeak 2.2 has several features that may interest the musically inclined.
1. The score player can now output MIDI on Macs and Win95/NT.
To access this feature, open a MIDI file
from the file list. It will start playing via the internal sound. Pause and
rewind, then use the menu that pops up on the "<>" button to set the desired
MIDI port. Mac users may need to turn off AppleTalk to use the desired port,
especially on Powerbooks that have only a single serial port. Mac users also
need a MIDI adapter, which by default is assumed to provide a 1 MHz clock.
(If you don't have such an adapter plugged in, don't try this. Without
the external clock signal, the first attempt to output to the port will cause
Squeak to hang forever.)
2. There is now support for having Squeak generate music from sampled
sounds, the way a sampling synthesizer does. It supports multi-sampling:
storing recordings of a given instrument playing different pitches at
different dynamic levels, and choosing an appropriate recording
based on the pitch and loudness of the note to be played. Squeak has a
mechanism for building such sampled instruments by reading in a
collection of AIFF files. However, it does not come with any sample
sets. Such sample libraries are available on CD-ROM in a number of
formats from a number of vendors (see www.harmonycentral.com for
some pointers). We have been using a commercial Macintosh program
called TransferStation to convert sample disks in Akai format into
collections AIFF files readable by Squeak. As a test, we imported an
entire orchestra and played standard MIDI files of various symphonic
works with good results. However, sampled sounds are quite bulky,
so our "reduced size" orchestra still consumes about 35 MBytes. (But when
I recently learned that some Hollywood composers use sampler setups
with a gigabyte of RAM to simulate a full orchestra, 35 Mbytes didn't
sound so bad.)
3. Squeak now has a rudimentary sound editor called WaveEditor. You can
use the RecordingControlsMorph to record a note and use the "Show" button
to open a WaveEditor on the sound you just recorded. You can then trim
the ends, set up some loop points, and save the sound as a sampled
instrument. With patience, you could even build your own multi-sampled
instrument library this way, although you would probably want to
implement some additional features to streamline your work (such as
scaling a set of recorded notes to the same sound level) .
Future Work
We're going to keep working to improve Squeak's sound synthesis. In
particular, we hope to find a better compromise between memory space
and quality, either by finding ways to get good quality sound with shorter
sample loops or by using the FM algorithm on wavetables taken from
sampled sounds.
We're also planning to improve Squeak's MIDI capabilities. In particular, we
plan to add image-level support for MIDI input, including the ability to filter
and re-map controller data, and we plan to enhance the ScorePlayer and
PianoRoll score viewer. Of course, the serious MIDI musician and Squeaker
should check out Stephen Pope's Siren system:
ftp://ftp.create.ucsb.edu/pub/Smalltalk/Siren
which has support for the Opcode MIDI System (OMS), MIDI scheduling, and
MIDI controller filtering built right into the VM, as well as an advanced set
of score manipulation and viewing tools.
Happy Squeak music-making!
-- John
More information about the Squeak-dev
mailing list
|