Computer Music in Squeak
Alan Kay
Alan.Kay at squeakland.org
Mon Jul 29 12:52:30 UTC 2002
Richard --
An interesting way to start off would be to make a simple sampling
synthesizer using etoys. This is particularly easy if the computers
have microphones. In Squeak you can record a sample, get an etoy
"holder" with the samples in it, and write a two line script that
will play it back at any pitch. In etoys this is modeled as
"animating the loudspeaker cone" and there is just such an object
that is a standin for the cone. The side effect of animating it is to
fill up the computer's sound buffer which eventually plays out. There
is a speed up of "fires per ticks" (in a script menu) that allows
switching from animation speed of 10 or so per second to running
10,000 times as fast, which is fast enough for real-time synthesis.
The script looks like:
sampleholder's cursor increase by 1
speaker's coneposition <- sampleholder's sampleatcursor
If we change the 1 to a 2, we skip every other sample and the pitch
goes up an octave. If we put 1.5 in there, then we get a note in
between. The kids quickly see that each pitch has a magic number, and
they immediately make buttons in the shape of piano keys, etc.
We usually work our way up to this with the kids by exploring the
powerful idea "increase by". First we do something like:
car's x increase by 5
to achieve constant velocity horizontally. By changing this number
and eventually getting it from a slider or joystick, the kids see
that this number stands for and creates the idea of speed as the
script ticks away.
Then we do animation by putting images in a holder, and the
script looks like:
holder's cursor increase by 1
mickey's graphic <- holder's graphic at cursor
On each tick, mickey's costume ("graphic") changes.
The next stage is to do sampling synthesis.
There are a wide variety of other sound tools in Squeak. Mark Guzdial
and his students have explored some of them and have published
projects.
Here is a good project -- especially for hardened computer jocks.
MIDI music from a score sounds terrible unless it has been "shaped"
in various ways. Unshaped music doesn't seem to bother people as much
as it should (evidence is the willingness of people to have their
mobile phones play awful cariacatures of classical musical with no
expression, etc.). The way this problem is dealt with in Hollywood is
to have a "beat track" that allows the metronomic MIDI time to be
shaped by slowing down, speeding up, etc. Also, more phrasing can be
automatically added. We had a program at PARC that could do all these
things, and could also put in really good syncopation, etc.
All these things have to do with musical expression, and would
be good to explore as a kind of balance to the mere mechanical acts
of creating sound through a loudspeaker.
Cheers,
Alan
P.S. I think most Squeakers are quite in the position of Lily Smith
here. There's lots of facilities in the system for playing with sound
and music, but precious little documentation. And the searches with
the browser will only help a little......
--------
At 5:15 PM +1200 7/29/02, Richard A. O'Keefe wrote:
>We have an annual 'Hands-On Science' week in the summer holiday,
>when high-school pupils from around the country come and try things.
>There are 'projects' where we have them for 3 or 4 mornings and 'snacks'
>where we have them for a couple of hours.
>I received an unexpected request to run another one this coming summer
>(it's winter here now). It suddently occurred to me that a computer
>music project using Squeak should be really fun, but I've never done
>anything like that.
>
>Any suggestions would be MOST welcome. It may not come off, but if it
>does it should be quite enjoyable for the students. We'd probably have
>a lab of OS/X macintoshes, if it makes any difference.
--
More information about the Squeak-dev
mailing list
|