James Tenney composed For Ann (rising) in 1969 and made several realizations with tape and signal generators. In 1991 I was asked to engineer a compilation of his early computer and electronic music, “Selected Works 1961-1969″. Instead of using one of the tape versions of For Ann (rising), we decided to realize it digitally in Csound. Jim described the piece to me over the phone. The piece consists of 240 sine wave sweeps, each of which lasts 33.6 seconds long and rises 8 octaves (4.2 seconds per octave). Each sweep has a trapezoidal amplitude envelope which rises from 0.0 to 1.0 gain in the first two octaves, stays at 1.0 for the 4 mid octaves, and drops from 1.0 to 0.0 for the top two octaves of each sweep. A new sweep starts every 2.8 seconds. The initial Csound orchestra and score was simply:
sr=44100 kr=44100 ksmps=1 instr 1 kf expon 40, 33.6, 10240 ka linseg 0, 8.4, 2000, 16.8, 2000, 8.4, 0 a1 oscil ka, kf, 1 out a1 endin ---- f1 0 16385 10 1 i1 0 42 i1 2.8 42 i1 5.6 42 and so on.....
The tuning difference between each successive sweep is a 12tet minor 6th.
For the final version on the CD, Jim asked me to extend each sweep by 4.2 seconds (1 more octave). We moved the start point to A0 (27.5 Hz) – the end of each sweep is A9 (14080 Hz). This increased the length of the piece slightly 240 * 2.8 + 33.6 + 4.2 = 11:49.8.
I have recently put together a new realization of For Ann (rising) in Pure Data. I am using metro, delay and vline to generate the sweeps in this version, as these objects (unlike many objects in PD) are sample accurate, and should give consistent tuning accuracy. Also for this realization, I have added the capability to perform the piece with the original 12tet minor 6th, a just 1.6 ratio, and a golden mean (phi) ratio between successive sweeps.
The PD patch is available here, for those who want to hear the piece.