Professional Documents
Culture Documents
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted
digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about
JSTOR, please contact support@jstor.org.
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
http://about.jstor.org/terms
Perspectives of New Music is collaborating with JSTOR to digitize, preserve and extend access to
Perspectives of New Music
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
JOHN CLOUGH
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
Pass 1: Compilation
Pass 2: Sorting
Pass 3: Performance
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
117
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
In stateme
&P1 and &P
statements
indicates t
PITCH has
In statem
and OUTPU
in each stat
operation,
put symbols.
In statement (2) the parentheses around the rightmost "PITCH"
indicate that it is an argument to the conversion routine "HZ." State-
ment (2) says in effect: "Take the first note parameter, convert it
from Hz to an increment for sampling a stored function, and replace
the result in the first note parameter location."
The oscillator in statement (3) uses the increment computed in
statement (2) to sample a function called AUDIO which must be de-
fined elsewhere in the program. TEMPO oscillators are unary opera-
tors; there is no multiplier or amplitude input.4
Statement (4) calls for a linear rise and a linear decay of .01 seconds
duration each.
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
The phrase "AT A + 14" directs that the note begin 14 beats af
A, a variable defined elsewhere. "PLAY" is the verb identifying
statement as a note definition.
"TRIVIAL," the instrument name, is in fact a variable whose value
would have been automatically assigned by the instrument definit
given above. The composer can control this assignment if he wish
and can redefine the instrument name (by means of a LET statemen
just as he would redefine any other variable. This reflects the phil
ophy that bookkeeping chores should be delegated to the system,
less the composer wishes to assume them for some special reason.
To continue with an explanation of the above PLAY statement, t
two numbers following the colon are the parameters for frequenc
and accent, as required by TRIVIAL. (They could be expressio
As a courtesy to the experienced programmer, keywords may be
abbreviated in all TEMPO statements. If the value of TRIVIAL is 1,
the above statement could be shortened to:
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
The symbol &(*, 1) is a specific case of the general symbol &(m, n),
which refers to the nth parameter in the mth PLAY statement of a
set to be transformed. In the symbol &(*, 1), "*" indicates a loop over
the possible range of the subscript for the set to be transformed.
Thus, the LET statement directs that the first note parameter be
multiplied by ARG (with the result replaced in the first note para-
meter) for each PLAY statement in the set. For example, if ARG
has a value of 100, and TR1 is applied to SET1, the resulting trans-
formed set will be equivalent to the following:
AT 0 PLAY TRIVIAL FOR 1: 100, 100
AT 0 PLAY TRIVIAL FOR 1: 120, 100
AT 0 PLAY TRIVIAL FOR 1: 180 100;
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
1I = OLDLEN + 1; (4)
DO 12 = I1, &LENGTH; (5)
13= 12 -OLDLEN; (6)
LET &(I2, &START) = &(I3, &START) + ARG2 (7a)
&(I2, &DUR)= &(I3, &DUR) (7b)
&(I2, &INSNO)= &(13, &INSNO) (7c)
&(I2, 1) = &(I3, 1)*ARG3 (7d)
&(I2, 2)= &(I3, 2); (7e)
DONE; (8)
END; (9)
Statemen
transform
the set b
In filling
remaining
length OL
statement
statemen
PLAY stat
In statem
the action
strument
than the
from the
first note
previous g
parameter
ment (8) c
By way o
TR2 is ap
the result
AT 0 PLAY TRIVIAL FOR 1: 100, 100;
AT 0 PLAY TRIVIAL FOR 1: 120, 100;
AT 0 PLAY TRIVIAL FOR 1: 180, 100;
AT 10 PLAY TRIVIAL FOR 1: 90, 100;
AT 10 PLAY TRIVIAL FOR 1: 108, 100;
AT 10 PLAY TRIVIAL FOR 1: 162, 100;
AT 20 PLAY TRIVIAL FOR 1: 81, 100;
AT 20 PLAY TRIVIAL FOR 1: 97.2, 100;
AT 20 PLAY TRIVIAL FOR 1:145.8, 100;
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
This simply causes the two chords to sound one after the other with
base frequencies of 100Hz and 200Hz, respectively. The sets are
transformed by TR1 as specified and the results are output to the
performance file.
The outer set of parentheses in each of the statements encloses
what is known in TEMPO as a phrase; the statements as a whole are
phrase-type PLAY statements, as distinct from single-note PLAY
statements.
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
PERSPECTIVES OF NEW MUSIC
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms
FORUM: COMPUTER RESEARCH
5 Another kind of extension is not really an enlargement of the language proper and
should take place on a continuing basis. This is the addition of new unit generators and
function generating routines, full and varied sets of which are desirable for any im-
plementation of TEMPO. In practice, these will vary from one implementation to an-
other, as dictated by local requirements and interests.
* 125 ?
This content downloaded from 90.214.205.250 on Mon, 19 Jun 2017 20:09:50 UTC
All use subject to http://about.jstor.org/terms