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.
"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.
Take a look at Mark Guzdials stuff: http://swiki.cc.gatech.edu:8080/compMusic and some Active Essays: http://swiki.cc.gatech.edu:8080/compMusic/8
Karl
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.
--
On Mon, 29 Jul 2002, 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.
What I really like is visualizing sounds. Starting with a MIDI file you can play animations for each note. To exactly match the animation to the sound you have to give the animation a little bit of lead time. For example, a hammer hitting a string needs to start moving a few milliseconds before the actual note is played.
The best implementation of this idea I've ever seen comes from Animusic. There is a very nice collection of pieces performed on "virtual instruments" available on DVD at animusic.com. An MPEG (37 MB) of one of those pieces is here (from this year's ATI demos at SIGGRAPH): http://mirror2.ati.com/misc/demos/ATI-9700-animusic-Demo-v1.0.mpg
I'd *love* to have this in Squeak (even if it's not 3D) :^)
-- Bert
squeak-dev@lists.squeakfoundation.org