I find Andre Michelle’s (Flash) interactive audio piece called Pulsate quite interesting. I won’t describe it (very much) because it’s online and you can check it out for yourself. Writing about works you can check out online is different from writing about works you can’t check out so easily yourself. Overly descriptive writing about such pieces avoids the harder and more interesting task of saying something about the piece that isn’t obvious.
This paragraph contains all the description that’s required. Click to create a circle. Press the space bar to start from scratch. A circle grows in size until it kisses another expanding circle; a note is played; then the two circles both begin to shrink in size. They shrink until they disappear; then they grow again.
Pulsate is a generative work. That is, the audio is generated by the program depending on what you, the user/player, do. And it’s quite interestingly compositional, really. The compositional paradigm is dynamically visual and geometric. Very simple. But intriguingly puddle cosmic and charming. Looking at puddles in the rain is a kind of quotidian cosmic contemplation. Expanding circles intersecting. Ripples of what is and what seems and distortions of the image accordingly. Pulsate nods in the direction of rainy puddle lovers and geometers.
A note is sounded if and only if two expanding circles kiss. Kissing is always nice in art and life. In this case, the kissing is rather abstract and the slobber is sublimed away but, still, it’s rather pretty, and the resulting music can be totally charming.
It seems to me that the pitch of the note that is sounded is directly proportional to the radius of the smaller of the two kissing circles. Andre Michelle could, of course, have done that differently, if he’d wanted. For instance, the pitch of the sounded note might have been made proportional to the sum of the radii of the two kissing circles. This decision affects the distribution of notes in the piece. Perhaps he experimented with different policies and found his current choice sounded better, to his ear.
There is a bug with the piece, as someone has noted in the many comments beside the piece. If circles are nearly concentric, a situation can sometimes result where notes are made to sound almost continuously, and the program crashes. In this situation, we have two expanding circles kissing where each circle has a very small radius. Or, as “neuroduck” commented:
“if you make two concentric circles, it may happen that they squeeze to a point and make a constant alarm sound.”
A fix for that situation would be to destroy one of the circles. One would have to be considerably more precise about the conditions under which such a destruction should be made, of course, and it would take close observation, careful thought, and subequent testing to work that out properly.
In any case, Pulsate is interesting to contemplate, to watch, and to listen to. It’s simple, but it has its depths, also, both in terms of audio composition and algorithmic implementation and design. The mathematics of the circles is interesting also. How would we detect kissing circles?
Well first we note that both of the circles have to be expanding for a note to sound, so that cuts down quite a bit of checking. Certainly we’d want to minimize the amount of checking we do, so that the piece can have a good framerate. Smooth continuity, ie, a good frame rate, is important to this sort of piece.
We would compute the distance between the centers of the circles. This does not change (until the space bar is pressed). Two circles intersect when the sum of their radii is equal to the distance between the two centers. That is how we know if two circles are kissing.
I’ve seen other online generative music pieces—there are some good one. Such as the Pianolina . This is quite lovely but the compositional aspect is not as strong and simple as in Pulsate. Though it is more developed than Pulsate in other ways. For instance, the Pianolina offers different types of sounds whereas we’re stuck with the single, though variously-pitched tone of Pulsate.
Pulsate reminds me a bit of a much earlier piece by Mark Napier called p-Soup. This was an early online Java interactive audio piece. It was so early that Java only offered 8-bit sound, at the time. Which is very bad quality sound indeed. To get around that problem, p-Soup dealt only with pure tones, which weren’t so scratchy. Of course, Pulsate deals with pure tones also. And p-Soup involved growing/shrinking circles. They’re quite different, the two pieces, but I wouldn’t be surprised if p-Soup was part of Andre Michelle’s inspiration for Pulsate.
One of the interesting new audio features of Flash, erm, 9, I think, is its ability to generate audio. That is, instead of having to play pre-recorded sounds (or parts thereof), one may generate the sounds entirely from within Flash. I don’t know whether that’s what’s going on in Pulsate. Also, in Flash you can do things like play a sound at a different pitch but at the same speed as before, as we see in Sonoport’s Audio Stretcher. I’m not sure if that’s going on either. The point is that it would be possible for the Pulsate tones to be almost infinitely various in pitch but standard in speed. Mind you, that might not yield a pleasing set of sounds. I don’t know. One would have to experiments with it.