Sarah
Vaughan's 'Stardust', written by Hoagie Carmichael, and 'Black Coffee', written
by Paul Francis Webster
and Reginald (Sonny) Burke
are beautiful
songs. Listening to them, I noticed that they
were basically in the same tempo and seemed to
have other relations also. So I cut them both into
loops to see how they intermixed together. This piece is not 'interactive'
but is 'generative'. I've cut 'Stardust' into 24 parts and 'Black Coffee' into
13 parts. Not all of 'Black
Coffee' is in the mix but all of 'Stardust' is; 'Stardust'
is more rhythmically homogenous than 'Black Coffee'. The program starts with
the first bars of 'Stardust' and 'Black Coffee' and then, somewhat randomly,
selects another sound file that sounds OK after the one that just played.
This process is repeated until it eventually plays to the end of 'Stardust',
sometimes sooner, sometimes later. If the program is playing sound x, then
the sound that will play next is drawn from ones that I thought sounded OK
or interesting after x.
Each sound file is 8 beats long. If you count the beats, you can tell when the next cut will be heard.
The program starts up quickly for
slow modems. It only selects sounds from among those that have already finished
downloading.
What we see below is the decision
structure. The first 24 sounds are from 'Stardust'. When it reaches 25, it
plays nothing more, that's the end. Sounds 26 to 38 are from 'Black Coffee'.
So, for instance, if sound 3 is currently
playing, then what will play after sound 3 is any of the sounds
[2,3,4,5,6,8,10,13,15,26,28,32,38]. It
is possible that after the first two hard-wired sounds play, 'Stardust' could
play through in its original order. But that isn't very likely. It is also
possible that the thing could play forever, so the combinatorium is, in this
sense, infinite. But it is very unlikely that the piece will play much longer
than the songs themselves. Usually it lasts about as long as the songs
themselves,
maybe
a little longer.
It's like a hypertext structure with internal links, where a page can also link to itself.
1 => [1,2,6,8,26,38]
2 => [2,3,6,7,9,13,26]
3 => [2,3,4,5,6,8,10,13,15,26,28,32,38]
4 => [1,3,4,5,7,8,9,10,13,38]
5 => [2,3,4,5,6,7,10]
6 => [1,3,5,6,7,13,26,32]
7 => [1,2,3,4,5,7,8,9,10,13,15,26,27,32,37,38]
8 => [2,8,9,13,26,28]
9 => [1,2,4,5,6,7,9,10,13,26,28,33,38]
10 => [3,5,7,10,11, 13,14,28,32,34,36,37]
11 => [1,2,3,7,11,12,13,14,20,26,28,32,35,37,38]
12 => [1, 2, 3, 6, 7,11,12,13,14,15,26,27,30,32,33,34,36,37,38]
13 => [11,13,14,32,35,36,37]
14 => [1,2,3,7,8,13,14,15,17,26,27,28,30,32,34,36,38]
15 => [15,16,18,19,28,32,33,36]
16 => [3,4,5,6,7,13,15,16,17,28,32,34,38]
17 => [13,15,17,18,33,37,38]
18 => [16,18,19,29,32,36]
19 => [19,20,36]
20 => [19,20,21]
21 => [21,22]
22 => [22,23]
23 => [23,24]
24 => [24,25]
25 => []
26 => [3,4,5,7,9,11,26,27,28,37,38]
27 => [11,14,27,28,38]
28 => [13,16,18,19,22,26,28,32,36,37]
29 => [13,14,15,19,23,29,30,32,34,35]
30 => [11,12,13,14,18,19,20,28,30,31,32,34,36]
31 => [3,13,15,26,31,32,34]
32 => [14,16,17,26,28,32,33,36,38]
33 => [3,10,11,13,15,17,26,28,30,32,33,35,36,38]
34 => [8,9,10,11,14,15,17,19,20,29,30,31,32,34,35]
35 => [12,33,35,36]
36 => [9,17,23,36]
37 => [2,3,13,17,26,37,38]
38 => [2,4,5,7,9,10,11,13,14,17,26,28,32,38]
|