379 HQ Id /*/«, 3i2r - UNT Digital Library/67531/metadc... · 379 HQ Id /*/«, 3i2r COMPUTER...
Transcript of 379 HQ Id /*/«, 3i2r - UNT Digital Library/67531/metadc... · 379 HQ Id /*/«, 3i2r COMPUTER...
379 HQ Id /*/«, 3i2r
COMPUTER SIMULACRA
DISSERTATION
Presented to the Graduate Council of the
University of North Texas in Partial
Fulfillment of the Requirements
For the Degree of
DOCTOR OF MUSICAL ARTS
By
James D. Phelps, B.S., M.M.
Denton, Texas
December, 1989
Phelps, James D., Computer Simulacra. Doctor of Musical
Arts, December, 1989, 53 pages, 7 examples.
Computer Simulacra is a musical work composed for
amplified instrumental ensemble and computer instruments on
tape. It is a computer-assisted work, composed with the
help of a stochastic compositional algorithm, called PTERIO,
designed by the composer. The structure of the musical
material generated by the compositional algorithm is based
on that of an abridged excerpt from a Rossini opera, La
Cenerentola. The algorithm is responsible for both the
analysis of the model piece and the composition of the new
material. Computer Simulacra was designed to be a single
movement comprised of six different versions of the same
computer-generated music. The differences in the versions
are manifested through diverse contrapuntal juxtapositions
as well as through different orchestrations.
The discussion of the piece is divided into six main
sections. After a brief introduction, the following topics
are presented: 1) the medium chosen for the piece, 2)
techniques of sound synthesis used for production of the
computer instruments, 3) the design and use of the
compositional algorithm, 4) assimilation of the computer-
generated musical materials, 5) a comparison of music
serving as model with music generated by PTERIO, 6)
aesthetic aspects of Computer Simulacra.
A "c" score of Computer Simulacra is provided after the
discussion. The composer has also included the following as
appendices: the compositional algorithm PTERIO in GWBASIC
language, the model music and the computer-generated music.
TABLE OF CONTENTS
Page
LIST OF EXAMPLES iv
MATERIALS AND STRUCTURE IN COMPUTER SIMULACRA v
Introduction The Medium The Sound Synthesis PTERIO: The Composition Algorithm Assimilation of the Materials Comparison of the Model with the CS Aesthetic Aspects of Computer Simulacra
COMPUTER SIMULACRA 1
APPENDIX A 38
APPENDIX B 48
APPENDIX C . 50
BIBLIOGRAPHY 53
111
LIST OF EXAMPLES
Page Example
1. Coordination of ensemble music with tape music . vii
2. Basic FM instrument . xiv
3. Spectrum of basic FM signal showing just three sidebands x v
4. Instrument implementing ring modulation . . . . xvi
5. Spectrum of ring modulated signal with only three sidebands xvii
6. Comparison of probabilities of occurrence of sound
and silence xxxii
7. Comparison of probabilities for durations . . xxxiii
8. Comparison of probability of occurrence for each adjacent interval contained within a chord, xxxiv
xv
MATERIALS AND STRUCTURE IN COMPUTER SIMULACRA
Introduction
Many developments have occurred in electronic and
computer music since the first sine tone pieces of
Stockhausen (1953-54) and the first computer music
algorithms of Max Matthews and Lejaren Hiller from the late
1950's and early 1960's. These developments have been in
the form of technological and performance innovations. Not
only have many new electronic instruments and computer
systems been designed and implemented but many combinations
of sound sources, electronic and acoustic, computerized and
non-computerized have been explored. Intermedia
experimentation has further expanded the realm of
technologically influenced art.
Computer Simulacra represents two main areas of recent
innovation: 1) combination of acoustic and electronic
instruments, 2) computer generation of musical materials.
Preceding work in the field will be cited and influences
discussed in the paper. Simulacra are images or
representations of something — insubstantial forms or
semblances of another object. Thus the title, Computer
Simulacra. suggests that images or representations of
something are being produced by a computer. This is indeed
the case. This piece is largely derived from structural
elements found in a piece of music from the nineteenth
century, namely the "Coro e cavatina" from Rossini's opera
La Cenerentola. The history of music is filled with
examples of music that is modeled after earlier works. A
few examples are the Bach chorales, Beethoven's Diabelli
Variations. Liszt's opera paraphrases, Stravinsky's
Pulcinella. Charles Dodge's Any Resemblance is Purely
Coincidental and Larry Austin's Sinfonia Concertante: A
Mozartean Episode.
Computer Simulacra uses a computer program designed by
the composer to analyze a piece of music serving as a model
and then subsequently to compose a new piece based on many
structural features of the model. Works by other composers
exhibiting similar features and techniques of composition
are discussed.
The Medium
Computer Simulacra is composed for amplified
instrumental ensemble and computer-generated sounds on tape.
Both sound sources are heard through the same two speakers
positioned on either side of the ensemble. The ensemble is
comprised of six instruments: 1 flute, 1 alto saxophone, 1
trumpet, 1 piano, 1 violin and 1 double-bass. The tape
music is performed by ten different computer-generated
instruments divided into two groups of five instruments, one
%
vi
group for each of the two main sections of the music. The
coordination of the ensemble's music with that of the tape
can be represented simply by plotting on a graph the
occurrence of the respective parts' music in time, as in
Example 1.
Example 1. Coordination of ensemble music with tape music.
0 00 1 J . 0 6
Ensemble music Tape music
The ensemble and the computer instruments are heard
together most of the time with only brief passages of solo
music for either part. Both parts perform essentially the
same music, which is distributed contrapuntally among each
sound source's instruments. Each instrument, except for the
piano, performs one line from this music which henceforth
will be referred to as the "central sequence" or "CS." The
piano represents the only single timbre used polyphonically
with the possible exception of a drone in the tape music,
which overlaps itself noticeably during pitch change through
use of digital reverberation. It is the only single
instrument that performs the entire CS. The piano
presents two different versions of the CS throughout the
course of the piece.
The CS is music generated by a compositional algorithm
designed by the composer. This algorithm, called PTERIO,
VII
analyzes a piece of music serving as a model and then writes
a new piece which is largely based on various structural
features of the model. The design and use of PTERIO is
discussed at length in another section of this paper.
The instruments of both ensemble and tape are assigned
essentially equivalent roles in the musical structure. In
general, no single event is allowed to dominate the dramatic
structure without an equivalent event incorporating a
different instrument soon following or occurring
concurrently. This feature helps balance the overall flux
of prominence among events and instruments.
The concept of combining acoustic instruments, either
solo or in ensemble, with electronic/computer instruments,
either taped or live, and of generating part or all of the
musical material with help from a computer are not original.
There are many precedents illustrating one or both of these
ideas that serve well as musical, technical and logistical
models.
One of the earliest such pieces is Computer Cantata by
Lejaren Hiller, composed in 1962 and 1963. The piece calls
for chamber orchestra, soprano and computer music on tape.
Much of the musical material and all of the electronic
sounds were generated with the help of a composition program
called MUSICOMP. MUSICOMP is an expandable composition
program written in the computer language SCATRE, an IBM-7094
assembly language, and, to a lesser extent, FORTRAN. The
v m
program is divided into three main types of routines:
1) system regulatory routines, 2) composition subroutines,
and 3) output routines for sound synthesis data.
In Computer Simulacra, the coordination of the
amplified ensemble and computer sounds often affords the
listener the opportunity to experience a new, hybrid timbre
resulting from careful juxtaposition of acoustic and
electronic sounds in the same sound space. In 1967
Karlheinz Stockhausen produced hybrid timbres from the ring
modulation of orchestral sounds with beat frequency
oscillators in Mixtur. scored for orchestra, sine-tone
generators, ring modulators and loudspeakers. Four
operators, one for each of four sections of the orchestra,
adjust one potentiometer each. This adjustment establishes
the output of the modulator connected to that particular
section of the orchestra. The four potentiometer operators
receive directions from the score during performance for
setting the beat frequency. A subsequent chapter of this
paper shows how ring modulation of an acoustic sound plays a
significant role in the computer synthesis of sounds used in
the tape music of Computer Simulacra.
Delizie Contente Che L'Alme Beate was composed in 1973
by Jacob Druckman for wind quintet and electronic tape. The
tape consists of both electronic sounds and recorded
acoustic sounds, namely those of the wind quintet. Of
particular importance to this author is Druckman's use of
xx
the first line of an aria from the opera II Giasone by
Francesco Cavalli (1649). This line, translated into
English, is "delights and joys which bless the soul, do not
leave me." The aria teeters on the edge of conscious
recognition throughout the piece . Music from the aria was
recorded by the wind quintet and included in the taped
music. The live quintet often reacts to this music based on
the aria. As we have already seen, Computer Simulacra is a
continuous presentation of different "reactions" to an
excerpt of a Rossini opera that serves as model although the
model itself is never heard. Druckman keeps his "model" on
the surface along with reactions to that music while
Computer Simulacra deals directly with only the reaction,
the actual model remaining a silent protagonist.
Another precedent is Less Than Two, composed by Roger
Reynolds between 1976 and 1979. The work calls for two
pianos, two percussionists and computer generated sounds on
tape. It has two large sections, the second of which
presents a reworking of material from the first section.
The character of the instrumental materials is closely
allied to that of the tape music, but no effort was made to
emulate acoustic sounds in the tape music. Three ideals
were considered for programming the computer-generated
sounds: l) stability of fixed pitch with changing timbre, 2)
transition manifested by glissing, and 3) deviation and
return, spreading out from one initial core pitch and
x
converging upon another. I found such categorizing of
timbres and of timbre families very beneficial while
designing synthetic timbres for Computer Simulacra.
In Spectres Parisien by Tod Machover (1984), the
computer-generated sounds evolve slowly as the piece
progresses in time. The piece exhibits continuous
development with no breaks demarcating major sections.
There is a contrast between the widely differentiated
playing styles of the instrumentalists and the less diverse,
more objective view adopted for the computer music. The
computer-generated sounds were produced on IRCAM's 4X
digital synthesizer and are heard along with a chamber
orchestra and a group of soloists consisting of a flute, a
french horn and a cello. Computer Simulacra exhibits a
similar diversity of playing styles in the emsemble but
extends this to the tape music as well. Computer Simulacra
also invokes a continuum without distinct breaks, but this
continuum does not constitute development.
The last two pieces to be discussed were composed by
Larry Austin. Sinfonia Concertante: A Mozartean Episode,
for chamber orchestra and computer music narrative on tape
(1986), consists of three primary contrasting elements:
narration, computer synthesized voice and the chamber
orchestra. Voice analysis/synthesis techniques developed by
Paul Lansky were used to create timbres that combine
features of talking and singing.
xi
The text of the narration is taken from ten letters
written by Mozart to his father in 1777 and 1778. The
orchestra plays music based on brief opening measures of two
movements of the "Paris" Symphony, K.297, as well as
orchestral music in the style of Mozart, composed by Austin.
Therefore, music of 1777-78 and that of 1986 forge one
important contrast of the piece. The presence of both
unaltered voice narration and computer-synthesized vocal
sounds (contrasting elements in themselves) adds to the
already rich environment of dualities. Computer Simulacra
deals with two main types of contrast: contrasts in the
different versions of the CS and the contrasting sound
sources of instrumental ensemble and computer-synthesized
sounds.
Computer Simulacra borrows yet another feature from
Austin. Austin's Montage, for violinist and computer music
on tape, uses a cue track listened to by the performer
through headphones during performance to assist
synchronization between performer and tape. The cue track
consists of the violinist's music realized by a synthetic
instrument. Also, the performer has the option of listening
to a click track which supplies rhythmic pulses coinciding
with the changing tempi of the piece. The score includes a
line devoted to the tape part. Therefore, synchronization
is assisted in three possible ways, the cue track, the click
track and visual cues in the score.
Xll
Computer Simulacra similarly offers important
information about the computer music in the score. The tape
part, not entirely notated, is cued in the score at moments
crucial to synchronization. It also includes a click track
which provides the conductor with an accurate beat. The
conductor will listen to this click track through headphones
during performance.
Some works by Austin, e.g., Montage. Ludus Tonalis and
Concertante Cybernetica. were composed with the help of a
compositional algorithm. These pieces were composed with
assistance from LUDUS, a program designed by Austin to
analyze probabilities of occurrence of pitch dyads in a
melodic sequence and then to vary the sequence, based on
these probability tables. The development of PTERIO, which
accomplishes a similar task, came as a result of this
composer experiencing the successful results of Austin's
work with LUDUS.
The Sound Synthesis
The electronic sounds in this piece were designed and
realized on the Synclavier Digital Music System at the
Center for Experimental Music and Intermedia at the
University of North Texas. All sounds were created using
that system's digital sound file synthesis hardware/software
called the Signal File Manager, or, SFM.
x m
At this point in the discussion it may prove helpful to
define some technical terms used in this section. Two types
of modulation are mentioned: frequency (FM) and amplitude
(AM). Frequency modulation is the alteration of the
frequency of one signal by the amplitude of another. The
signal being altered is called the carrier signal while the
one causing the alteration is called the modulating signal.
The timbral content of the modulated signal is affected by
the frequency characteristics of the modulating signal.
Amplitude modulation is the alteration of the amplitude of
one signal by the amplitude of another. The relationship and
nomenclature of carrier and modulating signals as described
above apply here as well. An electronic device that
generates periodic waveforms, called an oscillator, can
produce either carrier or modulating signals. A separate
oscillator is used for each signal.
A schematic diagram of a basic FM instrument is shown
in example 2.1
Example 2. Basic FM instrument.
* L i J r
'«• I A . I MODULATING OSCILLATOR
*(+)- © CARRIER
OSCILLATOR
1. Charles Dodge, Thomas A. Jerse, Computer Music; Synthesis. Composition and Performance (N.Y.: Schirmer Books, 1985), 106.
xiv
A constant, fc, is added to the output of the modulating
oscillator, and the result is applied to the frequency input
of the carrier oscillator. The frequency of the modulating
oscillator is shown as fm. The resulting frequency content,
called the spectrum, can be shown on a graph where the y
axis, labeled as "A", represents amplitude of the signal
components and the x axis, labeled as "f", represents the
frequencies of the components, as in example 3.2
Example 3. Spectrum of basic FM signal showing just three sidebands.
i 1 I I I I i •J JE J „_E .J m CM I + (M ro I I 1" + + O U (i (I
The spectrum will contain fc along with the frequencies
resulting from the subtraction of fc from and the addition
of fc to fm and each of its harmonics. The frequencies that
result from the subtraction and addition of fc from/to fm
are called sidebands and can be seen in the graph on either
2. Ibid., 107.
xv
side of fc. If a sideband's frequency is an integer
multiple of fc it is harmonic, otherwise it is considered
inharmonic.
One variety of amplitude modulation, called ring
modulation, is used extensively in this piece. A schematic
diagram of an instrument implementing ring modulation
appears in example 4.3
Example 4. Instrument implementing ring modulation.
If both fc and fm are sine tones, the resulting spectrum
will contain no fc and only two sidebands, fc-fm and fc+fm.
If one of the signals is a complex waveform, the resulting
sound would contain the sums and differences between each
harmonic of the complex waveform and the frequency of the
sine tone. If both signals are complex waveforms, the
resulting spectrum will contain the sums and differences
between corresponding components of each signal. Example 5
3. Ibid.. 82.
xvi
shows the spectrum for ring modulation when the modulating
signal is a complex waveform.
Example 5. Spectrum of ring modulated signal with only three sidebands.
• I I I I J5 s-u E E
•O W | + CM N I I + +
^ H-U » »
All timbres used in Computer Simulacra were developed
from analog recordings of excerpts from various pieces being
performed by a baritone singer with piano accompaniment.
The excerpts were originally recorded on audio cassette tape
and then converted into digital sound files by the Digital-
to-Analog Converter (DAC) on the Synclavier and then stored
on the system's hard disk for ease of accessibility during
processing.
I began experimenting in order to discover an overall
range of possible timbre types that could be produced from
the sound files. I decided to restrict synthesis activity
to the SFM. Frequency modulation synthesis on the
Synclavier is very powerful, and I had worked with that part
of the system extensively. However, I wanted to
familiarize myself more with the synthesis techniques built
xvii
into the SFM, as my previous work in SFM had involved only
elementary analysis and sound file editing.
Many timbres produced in the early stages of my
experimentation seemed to exhibit a bright, cutting quality.
I can informally characterize these timbres as sounding
quite metallic, raw, with an almost confronting presence,
without the polish and finesse so often associated with FM
timbres. It appeared that the SFM easily afforded
production of rougher, more metallic sounds while FM
synthesis (including resynthesis with subsequent FM) on the
Synclavier more easily yielded smoother sounds of
considerable finesse. Causes for these differences in
general sound quality include the following: 1) frequency
modulation versus amplitude modulation (SFM), 2) difference
in beginning materials, sine wave or analysis data versus
digital recording (SFM), 3) differences in configuration of
the instrument modules of these two parts of the Synclavier
system.
I gradually collected eighteen different timbres
through several processing methods. New timbres were
designed from sound file extracts consisting of piano alone
and voice alone as well as combinations of the two. Certain
files were selected for conversion into impulse-response
filters which were applied to other files to alter the
timbre. Impulse-response filters react to changes in the
signal being filtered, and therefore operate in the time domain,
xviii
Ring modulation figured prominently in the design of
many of the timbres. Several different applications of ring
modulation are represented. In some cases where a more
complex, noisy spectrum was desired, modulating frequencies
which produced inharmonic partials in the spectra were
selected. On some other occasions sound files were
sequentially ring modulated by different modulating
frequencies, some resulting in harmonic partials, others
resulting in inharmonic ones. Some sounds were produced by
a mixture of ring modulation and filtering techniques. Some
timbres were digitally mixed with other sound files before
subsequent processing by modulation and/or filtering.
These eighteen timbres were grouped into five timbre
families. Use of similar original sound files and
processing techniques often resulted in these timbres
exhibiting enough characteristics in common to be considered
a timbral family. The families can be described as follows:
1) gong-like, 2) rhythmic scratch, 3) electric guitar-like,
4) pizzicato piano, and 5) sharp metallic attacks.
As an example of the different synthesis techniques
used, one timbre from the "guitar" family began as a sound
file consisting of solo piano. This sound file was filtered
by an impulse-response filter which was designed through
conversion of another sound file, one made up of only a
vocal sound. The Synclavier offers a convenient method of
converting a file into a filter. The resulting filtered
xix
file was then ring modulated by a 100 hz modulating
frequency which was chosen to produce inharmonic partials of
considerable energies in the lower end of the spectrum.
This modulated file was then mixed with another original,
yet unchanged sound file, a voice excerpt. The result was
subsequently filtered by yet another impulse-response filter
designed by converting a piano sound file. This
concatenation process was facilitated by the ability to hear
the result of each new step in processing. This feedback
helped suggest additional processing.
The use of only two original acoustic sound sources,
piano and baritone voice, as progenitors for all the timbres
provided a set of timbre families related to one another.
Various degrees and parameters of relatedness are explored
in the piece.
Ten timbres were ultimately selected from these timbre
families for inclusion in the composition. I decided that
the CS could adequately be performed with five contrapuntal
voices. Therefore, these ten timbres were divided into two
performance groups, each group displaying one timbre
representing each of the five timbre families. This
suggested that the instrumental ensemble would perform two
versions, or orchestrations, of the CS. A concept was
therefore established during the sound synthesis of how the
structure of the work would involve both instrumental and
electronic sources. Both ensembles would work with the same
xx
basic material but covering four different manifestations of
the CS. The homogeneity in the electronic ensemble, all
timbres deriving from one or both of the same two original
acoustic sources, reflects the aforementioned structural
homogeneity seen in the musical materials.
PTERIO: The Composition Algorithm
Computer Simulacra was composed with the assistance of
an interactive compositional algorithm, PTERIO, designed and
written by the composer. It was designed to analyze
probability distribution for several structural features in
a piece of music and then to generate new music based on the
resultant information. Its objective is to generate music
that shares many structural features with the model without
duplicating the model.
The probability of a particular event occurring under
certain conditions can be expressed as a percentage. For
example, if it has been established that there is an 80%
probability of middle-c occurring after a quarter-rest, this
means, theoretically, that if this situation were
encountered 100 times, middle-c would occur 80 of those 100
times. This may or may not be the case if such a scenario
actually occurred; however, the probability of occurrence
should have approximated the actual results. If more of
these situations were encountered, e.g., 100,000, the actual
results would more likely replicate the probability percentage,
xxi
PTERIO1s analysis and composition take place in two
main modules: 1) the melody module, and 2) the harmony
module. Each of these modules initially identifies the
events which become either a silence or a sound. It then
establishes probabilities of occurrence for any of the
following applicable features: durations, dynamic levels,
intervals of adjacent melodic pitches or of chord
construction, direction of pitch change (up or down), and
the number of notes in each harmony. PTERIO plots this
information in time by dividing the model into four equal
durational segments. Each segment's data bank is accessed
separately. This structural data is mapped onto the event
stream of the new piece by dividing the number of new events
desired (the number chosen by the composer during running of
PTERIO) into fourths rather than by dividing the new piece's
total duration into fourths. This programming decision
virtually precludes a literal one-to-one mapping of elements
in time. Consequently, structural features from the model
are maintained but are dispersed differently in the music
generated by PTERIO.
Used in this manner, PTERIO often generates music of
rather curious kinship to the intuitively-composed model.
The music exhibits many of the model's individual musical
building blocks but uses them differently. For example,
PTERIO generates individual durations and duration strings
as well as pitches and pitch strings that are similar to
xxii
those of the model but concatenates them much differently.
PTERIO uses a discrete random variable to consult the
probability tables during the selection of adjacencies.
Consequently, the logic of the resulting syntax represents a
much different bias than the logic of a human problem
solver.
The result of a creative or cognitive task undertaken
by a human is biased according to that person's past
experiences. This statement may appear straight forward and
obviously true. However, a more scientific understanding of
how this bias operates is important in order to fully
appreciate the effect PTERIO can have on a piece of music.
Human information processing relies upon two primary
processing components: memory and a processor. Memory is
described as "a component of an IPS [information processing
system] capable of storing and retaining symbol structures".
The processor is a component consisting of "a fixed set of
elementary information processes (EIP's); a short-term
memory (STM) that holds the input and output symbol
structure of the EIP's; an interpreter that determines the
sequence of EIP's to be executed by the IPS as function of
the symbol structures in STM."4
An information processing system, including a human
being, can operate with only those processing elements,
4. Allen Newell, Herbert A. Simon, Human Problem Solving (Englewood Cliffs, N.J.: Prentice-Hall., 1972), 20.
xxiii
including experiences accessed by memory, that have been
established within that system. David Hume, as early as
1902, claimed that "creative power of the mind amounts to no
more than the faculty of compounding, transposing,
augmenting, or diminishing the materials afforded us by the
senses and experience."5 Sowa cites Barlett's work of 1932
and explains that "the patterns stored in the brain impose
an organization on the material that is recalled."6
Therefore, it has been suggested that a human problem
solver cannot selectively erase experiences from memory, and
thereby render them inoperative in information processing.
The types of structures created by a human are always
constrained by the experiences, or symbol structures, held
in memory.
The only memory available to a computer is that
supplied by the programmer. This data corresponds to the
aforementioned experience and symbol structures. The
programmer also determines the processes the computer will
use during operation, the only fixed set of processes being
those fixed by the programmer. The programmer can select
experiences from his/her own memory to be used by the
5. David Hume, An Enquiry Concerning Human Understanding and Concerning the Principles of Morals (N.Y.: Oxford University Press, 1902), 19.
6. J.F. Sowa, Conceptual Structures. IBM Systems Research Institute (Reading, Mass.: Addison-Wesley Pub. Co., 1984), 43.
xxiv
computer as either an operand or a process. Consequently,
the computer does not have to try to forget an experience
already in memory, whose influence is not desired for a
particular task, in the same way a human problem solver
would have to try to do. If some particular influence is
not desired, then the corresponding set of symbol structures
is not programmed into its memory banks. Due to this
control over experiences selected to serve as influences,
the output from PTERIO often exhibits structures that differ
markedly from those invented intuitively by a composer. In
other words, PTERIO creates within a synthetic environment,
a composer cannot.
PTERIO was written in the BASIC computer programming
language. A version in GWBASIC is included in the paper as
Appendix A. This algorithm's work is defined with terms
such as "melody module" and "harmony module," but it should
not be implied that its suitability is limited to simple
homophonic textures. While the algorithm deals with
"horizontal" and "vertical" pitch structures, it is up to
the composer to establish whatever interpretation of these
concepts is suggested by the model music and the desired
output. For example, exactly what constitutes a
contrapuntal line may be freely interpreted by the composer.
The composer is first prompted to supply the durations
for all events of a melody from the model. Duration
information is entered as reciprocals of a fractional part
xxv
of a whole note. A whole note is represented by 1, a half-
note by 2, and an eighth-note by 8, to give a few examples.
The melody's pitch information is then entered using a
modified SCRIPT language notation. SCRIPT is a music
programming language used with the Synclavier Digital Music
System. The pitch letter and octave class are entered
separated by a comma (middle-c begins the octave numbered as
3 in SCRIPT). If another note sounds during the duration of
the current melody note, the composer gives information
about the resulting simultaneity: the total number of
pitches sounding simultaneously, names and octaves of all
the pitches, duration of the simultaneity and the dynamic
level for each individual pitch. Dynamic levels are entered
as numbers ranging from 1 to 100 inclusive. "Zero"
represents silence and 100 represents the loudest pitch.
The composer is then asked for a dynamic level for each
pitch of the melody.
PTERIO then begins its analysis and composition without
any further help from the composer. Output files are
written in SCRIPT language to be compiled by a Synclavier,
translated by hand or, preferably, to be translated by
another computer program that prepares the data for entry
into a music notation system.
For this composition, output data was compiled by the
Synclavier soon after its generation. This provided
virtually immediate feedback as "dummy" timbres were
xxvi
selected for the initial trial hearings. As the timbres for
the piece were produced, they could be aurally evaluated
with some of the piece's actual musical material.
Assimilation of the Materials
We have already discussed how Computer Simulacra was
composed with the assistance of a composition algorithm
which analyzed a model entered by the composer. For the
reader's convenience, this model appears as Appendix B and
the computer's output (the CS) appears as Appendix C.
The reader may feel, as did the composer, that this
model music is very mundane, especially out of its original
context, and would not likely be first for consideration as
model material for a new piece of music. However, it was
just this simplicity that seemed attractive for the task.
During test runs of an earlier version of PTERIO, I was
attracted to the results yielded by the use of "My Country,
'tis of Thee" as a model. I needed something simple, so I
could easily determine if PTERIO was operating as intended.
These results were remembered while familiarizing myself
with the voice/piano concert recording which had already
been selected as material to be used in the synthesis of
electronic sounds for the work. Several excerpts from
pieces on the recording were used as models and all rewarded
at least marginally pleasing results. I liked the overall
character of the output resulting from an excerpt from the
xxvii
"Coro e cavatina" from Rossini's T,a Cenerentola serving as
model and welcomed the challenge of creating a piece of
music from such brief and modest musical ideas.
The actual model that was entered into PTERIO to begin
the analysis/composition process is a revised version of a
brief excerpt from the "Coro e cavatina." Since this was an
experiment, the goal of which was to sample PTERIO's
reaction, only a very brief excerpt was needed. Changes
were made in the Rossini material to encourage PTERIO to
deviate occasionally from nineteenth-century harmonic
construction.
After deciding that the piece would use only the
material generated by PTERIO (the CS), I realized the
potential of offering different versions or orchestrations
either simultaneously, sequentially or in combination.
I experimented with various instrumentations, variations
of the contrapuntal and harmonic structure and with tempos
and articulations. I found that the original output
provided by PTERIO was sufficient for at least two
iterations, each with a different instrumentation and with
other types of differentiation such as those mentioned
above. Since the model's melody contained only sixteenth
notes, this was also the case in the melody of PTERIO's
output. I decided to restrict my material to only the
chords produced by PTERIO. Consequently, conventional
methods of melodic variation or development, such as
x x v m
diminution, augmentation, re-harmonization and melodic
inversion, to name a few, were not suggested by the material
chosen for use.
The characters of the electronic timbres were such that
the similarities between electronic and acoustic
realizations of the CS were thought not to render the
versions as trivial restatements or mere translations but
rather reworkings suggesting an alternative perspective.
The anticipated scope of the work along with the musical
material produced suggested a piece made up of four
sections, two each by the instrumental ensemble and the
computer music on tape. A mostly uninterupted flow of
events was desired, largely in order to de-emphasize
beginnings and endings of the four versions of the CS . The
piano would be given a special role in that it would be the
only single timbre to perform the entire CS, i.e., all
contrapuntal lines, by itself, and it would do this twice.
The piano would, therefore, serve as a continuous thread
through an otherwise diversified union of materials and
timbres.
Harmonies in the CS were broken down into five
contrapuntal lines to be treated as five independent
sequences on the synthesizer. This move was necessitated by
the available Synclavier software/hardware offering only
monophonic sampling. If the tape part was to be produced
from digital sound files, it would have to be recorded in
xxix
individual tracks, one sound file per track. The most
efficient way to do this was to make a live, digital
recording of five lines from the CS from the Synclavier's
keyboard. This afforded the convenience of making changes
in the material suggested or demanded by the sound files
being used. Furthermore, as changes would surely be
dictated by the instruments in the ensemble, the CS would
already be in a form handy for editing. Any changes made in
either real-time at the keyboard or by rewriting portions of
the reversed-compiled text file could easily be included in
the printed score since that too would be produced with the
Synclavier's music printing software.
Computer Simulacra is based on but does not include the
model. The composition algorithm creates similar structures
with similar percentages of occurrence but does not write a
variation, at least not in the traditional sense. No steps
were taken compositionally to elevate to the forefront a
relationship between the model and the new piece, although
this would be possible to do if desired. The model, which
functions as a silent protagonist, was chosen as part of an
experiment, to see what kind of piece could be created for
this medium, from this model, using PTERIO. The restriction
placed on any editing was that the character imparted to the
piece by PTERIO not be subverted.
I consider this work to be one in which the smaller
structures do not cooperate toward the satisfaction of a
xxx
singular, summative goal. In other words, the small parts
do not collectively form something of more importance than
themselves taken individually. The large, background
structure exists only for the purpose of allowing the
foreground structures to exist in close proximity to one
another in time.
Comparison of the Model with the CS
PTERIO generates music based on the probability
distribution of many features in the model. The
relationship between the model and the CS, whether or not it
is emphasized compositionally, can be demonstrated by
comparing the probability distributions of three of the most
important structural features of both the model and the CS.
We will begin the comparison by investigating the first
and most basic decision made by PTERIO while composing, that
of producing either a sound or a silence. Example 6
presents a comparison of probabilities of occurrence of
sound and silence between those of the model and of the CS.
The percentage for the occurrence of sound is implied. We
must remember that both the model and the CS are divided
into four equal segments by PTERIO. These divisions are
indicated above the percentages. The model is represented
by "M."
XXXI
Example 6. Probabilities of occurrence of sound and silence.
1 2 3 4
SIlEWf
M CS M CS M CS M CS — — — — — — — — —
62g:%: • • • •
— mm mm mm mm mm • mmmmmmmmmm
75% 60% 62g:%: • • • •
50% 50% 30% 37g-%: 38% • • • •
The maximum possible number of chords that can occur for any
given section of the model is the total number of events
occurring in the melody of that section. Therefore, the
probability of a chord occurring along with any particular
melodic event is calculated by dividing the number of chords
that occurred by the total number of melodic events. PTERIO
automatically performs this and all other analyses and uses
the resulting information to structure the new piece.
It can be seen that the section of the CS that most
closely represents the probability of the corresponding
section in the model is the fourth and final section. The
other pairs of corresponding sections differ by as much as
20%, found in the third section.
It should be emphasized that a more accurate
reproduction of the model probabilities would be much more
likely to occur, if many more events were being requested
for the new piece. For the composition of Computer
Simulacra, only a small number of new events — 1 0 0 — were
requested; duplication of the model's features was not desired,
XXX11
Now we will explore the mapping of individual
durations. Example 7 shows the probabilites for durations
Example 7. Comparison of probabilities for durations.
1 2 3 4 M CS | CS I M CS I M~
J* # •
M
50%
CS
66|%
M
66 j%
CS
57%
M
25%
CS
7%
M CS
50% 33j% 33J% 43% 25% 2li% 40% 52%
50% 7li% 60% 48%
The number of durations indicated on the chart may differ
from the number shown in the music. PTERIO selects
durations for rests among the chords from durations
contained in the melody. During analysis of the model, each
pitch of the melody not accompanied by an attack of a chord
is represented as a single, individual rest in the chord
module. Therefore, silences that would normally be
represented by only one rest, may be treated as four
individual rests. If the rests of the chord section were
selected from durations found only among the chords, each
fourth segment's chords could easily eclipse the total
duration of that segment's melody.
The last feature we will investigate in this manner
is the probability distribution for each adjacent interval
contained within a chord. An interval not occurring in the
XXXI11
model is omitted from the chart rather than given a zero
percentage. These harmonic interval probabilities are shown
in Example 8.
Example 8. Comparison of probability of occurrence for each adjacent interval contained within a chord.
M C S M C S M C S M C S
m 2 _ 1 0 % _ _ 8 J % _
M 2 a.
_ ? J % _ _ 3 » % _
m 3 _ 1 4 % _ _ 3 3 J % _ 2 0 % _ _ 2 5 % _ _3ffS% _ 3 6 % _ _ l 6 f % _ 2 0 % _
M 3 _ 4 3 % _ _ 3 3 J % _ 3 0 % _ _ 2 5 % _ _ 7 f % _ _ 1 1 % _ _ 8 3 % _ _ 5 X % _
P 4 _ 2 9 % _ _ 2 5 % _ _ 1 0 % _ _ 1 6 j % _ 7 ^ % _ _ 7 % _ 8 j % _ _ 1 1 ^ %
P 5 _ 1 4 % _ _ 8 J % _ _ 1 0 % _ _ 1 6 # % _ 1 5 5 % _ 3 2 % _ _ 3 3 i % _ 4 0 % _
m 6 1 0 % t
8 J % 7 | % 3 ^ %
M 6 _ 7 j % _ _ 3 i % _ _ 1 6 j % _ 1 7 % _
m 7
_ 7 j % _
M 7 _ 7 j % _ _ 3 * % _
P 8
_ 7 j % _ 1
_ 8 I % _ _ 3 %
t t _ 1 0 % _ _ 0 % _ 8 J % _ _ 3 %
In most cases, an interval that dominates in the model also
dominates in the CS, although specific percentages differ.
Likewise, an interval that is weakly represented in the
model is usually weakly represented in the CS.
XXXIV
Examination of the intervals that have the highest
probabilities suggests that there may be several harmonies
in the piece that are often associated with concepts of
harmony evidenced in music of other eras. Major and minor
triads are found throughout the piece. For example, three
minor triads, two in root position and one in second
inversion, are the first three harmonies presented in the
CS. Harmonies not conforming to eighteenth and nineteenth-
century tertian construction ("tertian" referring to
harmonies consisting of major and minor thirds as adjacent
intervals) are also represented. The first harmony in
measure 10 of the CS contains a major seventh and a perfect
fifth as adjacent intervals. This harmony is not of tertian
construction. Another example is the quintal harmony (a
harmony constructed of perfect fifths) of the last measure
of the CS.
The harmonies in the CS that do exhibit tertian
construction seldom sound like eighteenth and nineteenth-
century harmonizations. Those of earlier eras are organized
in a harmonic structure designed to emphasize one single
pitch, designated as the key. One term used to represent
this particular concept of tonality is functional tonality.
Functional tonality is only one of many systems of pitch
organization that are frequently referred to as tonal
languages. If we borrow yet again from linguistic
terminology, we can liken individual harmonies to syntactic
xxxv
units; the systematic procedures for organizing these
harmonies can be viewed collectively as the tonal syntax.
Therefore, Computer Simulacra contains many single harmonic
events common to functionally tonal music but uses different
procedures for organizing them, which is to say, it exhibits
many of the same individual syntactic units without the same
rules of syntax.
Aesthetic Aspects of Computer Simulacra
We now have sufficient knowledge of the materials and
structure of Computer Simulacra to discuss the musical
effects of the piece. We will examine some of the musical
characteristics that resulted from attempts to realize the
musical ambitions for this piece which were outlined in
earlier sections of this paper. The manipulation of the
timbral sources of the piece will serve as point of
departure.
The goal was to create a sonic environment which would
support both a homogeneous and a dualistic presentation of
the disparate sound sources. Careful electronic balancing
of the taped and live instruments would create the potential
for a medium of hybrid timbres, or, as we shall call it, a
hybrid medium. This would not preclude orchestrating the
materials in such a manner as to occasionally subvert this
homogeniety — to withdraw temporarily one of the sources
from the timbral meld, affecting a separation of the
xxxv i
computer and instrumental timbres, or of individual
instruments within each source, as well as of their musical
materials.
As soon as both parts enter, an equilibrium is
established through the fusion of the sound sources. A good
example of the ensemble yielding prominence to the computer
instruments without disappearing altogether is the section
between measures 46 and 56. Here, the ensemble is
temporarily relegated to a supportive role. It only
punctates the music on the tape. The computer music yields
in a similar manner to the ensemble in measures 107-119,
after allowing the ensemble a solo in measures 84-96. The
last seventy-three seconds of the piece are devoted solely
to the computer music.
As stated earlier, the music performed by the ensemble
consists of two similar versions of the CS. All instruments
of the ensemble begin performing the second version between
measures 84 and 87, except for the trumpet, which begins
performing its line of the second version much earlier, in
measure 60. Its earlier entrance helps de-emphasize the
seam created by the other ensemble instruments at the ending
of one version of the CS and the beginning of the other. In
the second version of the CS, each instrument of the
ensemble, except for the piano, performs a line played by
another instrument in the first section, thereby creating
diversity in the instrumentation of the two versions. Some
xxxvii
changes in the individual lines were made in order to render
them idiomatic for the new instrumentation.
In the second version, the flute and double-bass
exchange material played in the first version. Music
originally performed by the alto sax is performed by the
violin while the alto sax performs material first played by
the trumpet. The line given to the violin in the first
version is performed by the trumpet in the second version.
This particular orchestration was derived from deciding
which combinations of material and timbre would yield the
most interesting results. The Synclavier was used to
perform the ensemble's material with synthetic timbres
during an experimental performance of the entire piece. The
interaction between the ensemble instruments and the
computer music was observed, and necessary changes in the
score and or instrumentation were made. The interlocking
structure of computer and ensemble music, each performing
different versions of the CS, produces a busy, complex
surface. Contrasting the complex, composite rhythm and
counterpoint is the homogeniety among the different
materials. Although the piece consists of four different
versions of the CS, the harmonic structure, detailed in an
earlier section, is consistent through all versions.
Since the syntax of this music was not structured in
the traditional manner, the composer's own prejudices for
organizing material were often usurped by the operating
xxxviii
procedures programmed into PTERIO. Similarities of many
events heard in Computer Simulacra with those heard in music
created within a different system of musical organization,
namely that of functional tonality as manifested in most
music of the eighteenth and nineteenth-centuries, allow for
expectations that are not confirmed through the listening
experience.
For example, the opening material of measures 1-3 is
very declamatory and features many dramatic articulations.
Its drama occurs within a tonal context similar to
functional tonality. This scenario is reminiscent of music
of the classic period that develops a theme or set of themes
heard toward the beginning of the piece. In Computer
Simulacra, the listener soon realizes that no classic
development takes place, but, rather, that small building
block materials are juxtaposed in different dramatic
situations and that the scheme for such reorganization is
something other than a teleological tonal structure.
XXXIX
COMPUTER SIMULACRA
By
JAMES PHELPS
(C Score)
ORCHESTRATION
1 flute
1 alto sax
1 trumpet
1 piano
1 violin
1 double-bass
computer-music on tape
COMPUTER SIMULACRA James Phelps
FLUTE
ALTO SAX
TRUMPET
FI AMI-
TAPE
VIOLIN
DOUBLE-BASS
I
LiMr/mMJn
X~XX X
i i
•fit T J, /
t, f
HP 1 >
—-% 0*—sm , , \
- ; .L.M mf
mf
• £r —
tJ <
• » 1
* ^ p t' » / r
* j f _ l
/
v ^ ^ "
; .... " " D "P
mf
1 1
MOAfE
1 . , . . , u _ x w ® ^
h = n
-J 1 I — s — g ;
^ ' • < / '
i f , r r /
j>tzz f f
« i > =
m / * a r c o ^
mf
¥ < /
i
P 122
i
m i
i
i PP
W]\f
l<i ~ -
- ' T j r /
^—: i ; - =
j ' p r f
j j P I '
f p •* *
f
/ • ^ L _ 7 —
j JU- it1
-i 1.^ 4, J / r" —
- ? » k 1 *—»? 1
/
- fi k. ••' •
ip_ : — , —
: — f e -
Hfi : '
f ^ f r - r t = , , S f • f v , = 1
"/ > f>liz •
— 1 ah :
/ a r c o ^ _ ^
mf
a r co ar c o
f
£4
1 "if f
\P — : fCf^4
P'^Z
—
g
F -* ==z : w /
- J — — c — r j ~
( ^ s T ~ J ' ' > - p -
fa =
•
1 - h - h - J £ 3? E | » £ '
' '-Jf , jp
—1^)
•—p Y i — I j | i
^
^ P j 1 -
ft ' 1
/
*)m"« *—J
1 , 3
,. h=p
i f & T
- ) 7 r ii h i — 4 w -
f - P '*
Y = /, ^ hp •' X ,7 | :*. i^ „• „ „ 7 >
b r - —rrj—-frf t—=—£~ | & f •-jHv "zirfr1 *
/ > f > 7 w
mp
L ^ J =
r p • " -
\ L & i u J mjp m f
£8
i ™/
f m i
feai
Wjp
m
fibft J P' P' I
f m f
JL
ft*
™/ p m f
) U
i *t u
F
m / ' _ i ¥
Z. i Y jpu.
™ f f pax
r T m p
m
f
10
i arco
11
JT ' "" 'fci " " "" '' ' • • . i - > tJ
f
j ' '
/ i i - =
>
in$>
m f
• Jy i -
-mjp
> ,|J V * = —
J j j ••• Ji,. i _ n j !
m p
t IK ;
I
\ *"
! i
'p—"P ' ^l,jj = /
a >
' j5 V " -J—"-c Sp • i 4,«|» — -
i M
* — s ~ >
k . . i — $
'PP ' ;
n V
fe f r -• r fj h > — i
m f
12
3 9
v > m p Hi
i
-
i m ;
vttCO
m -h.. i
_ _ §
p u i .
/
w m
a r c o
m p
j'ljjf *
h5S J^i <*•*
>f *<t'
£ mP
1
" € ^ s
p i z z a r c o
p V H
«
m f
PP m j ?
w p
13
x x x x
m
14
i
(i m/
$m W p -
m p
mp -===pil / rap
15
m
w
1m s
16
I
i
m
17
65
s M
g f > /
i P IP f
4^ £
? f r y } 1 l i
f
m
m
f
£ i£ i TO/
18
s a ^
i
0
~w—yr
J )
I P
triLptyfe
I P jp
:,<bJ
mp
^ jpS f f
F
3
/ ifc
# * ^ F
19
i
i
§
wjp
20
8©
r i t =
\l - =
M* : ~"~77^Z C-1
I ^ J r f " P - ;•'••• f t ^ f " s 1 f * , * 1 ^ f ° —
V / /
r / " j " V "i * h
; ' P
f 1±
™f <
JfUhr *1 M M *t mm*
: "1 p TP 7 '
/ > -
# «f *f '?n *• i •'11
1 [^h v -.' J r r * ? r r g 7
T>pe'
*
—*Z—^Lj
MWC. J1WS
• * - «
- =
i g =
i i
L j : . . J y t t ^ 3 £ fl_ i f > -LJL 1 r J ; v mf —=;
; — [ _L_
— / " l
"1 11111111 ! 7
f < > V
84
21
f , 1 g = ^ =
-f-4 —j—L— T t b j p r n f —
—1 H
* *
$ = r_p >
uf f 4—**—fe—r*=
1 • M7 ^ / l—-B—.. b rv ^ L—J 1ft Jr Pr =
f 'Cj W - =
- LJ: Ji;
m/' v_~- mp
A,. & nffiT>r
/
_ w . .:, 1 JL U * * • 4k "TCTHT a -"-"
>
4- jfuJ?) Ja a:
!i ' i "Ci'iHity
T JlfT?"
* 7 1
>
1 ft*.. 3 m
mp i—JLM h.. -.: - —
r f -. , = * ^ T f . 1 A
22
i
i f
i
23
j.J j i ' i1 *'|f :
l4" ' i - 1
-4-£—H-i—i r - i =
k l ••1 " Pr 1
7*— #W >~
—1—— ri } '.* # 1 jfr ^—
<*? J 4-i 1 ' ([Jl 1 *J ^ =W > I
* ^si § | fek* ^ _,r [ ,f ^ 7 ^ t—-r^
if 111 ? --' "T '. i •• t,1" V ^
\ • • •
ll'i'.
J ' V - -f - |
^ UiS0f ^ u_p^ i > >
—i
9 1
T . f. — —
<w*
<r / [T
" 1 &-=
. — — * - m 'J;.'
17==^
"*' 7 • / p
- f f - « — -
«tf
• - f f ~ * - » q # mi '
* - r ?-f
J? 1
" > ' ^ s > s > v
.. X ,,.,. «... „ .... - p- Z JL -* 1*"*" ;
> ' >
* p 1 r^--
4 * <-i—^- >
~^-4r • j ^
T P' = f c
£-P=£ , V: ' ' ' —
r-Hi—*-&-»<€-=-i " frg »-"«• J •> r»r * * "Ci k1 a
i ! lt r ff f "~1 * /
I h F = — ' " . «, flg g , ^ J JT] J l=
V
25
1 JP f p
26
1
m me no
ILfcj - = toft ; : — — • - = ?
1
Jf 1 -
it)
P
li- . K fc
~ . "if
_j r — q j„ . j— ^ . 4] iMI.IMJ , ' l l - ' " - I ... - t j
^ 1 ^ ^ '
m ? < /
27
TAPS JHMIC RfSUrtfJ,
tie. CHIME
m
28
100
m/1
$ IP
£ s I '*J n SS7-TO/' TttjP
:
ri j > ni lTiif f H J &
«& jig
29
mp mj
m
30
= —
i i
m
31
t
32
118 MM g = P P
jp < >
P f>
§ i l
v t r r M r
f>l> m p
m mf
U s P ?WjP
i£4
iiTt' =; * " 2 - , •}• m** 4 «bf m*
33
> ft ~ 1 P ^ -
1 V ;
I L 4
' * ? P
f
-terr-= 1
i r * • i / w / >
- i — N ^ 4 . — — - ,
t ? P 1 P
} —
J"
mjp 1 p r
Tltj
' J f f
1
? * * ' j '
to/' p
M ! yi |
<-& — 1
4J Wjp <
\ T — -— » ' /
Ifo \ /
i p 1 I S
-577— — .
¥ j
MOQb S&L-P^=—
R £ = d
[j 1
— /
> ' ~ « r * . '
- s — f - * — — -
TO/'
#*•
/
34
fi b, j a T l F ^ 3 " ! n i j — ,y-hr : ^ r - ~ - —
p
L ^ ^ ^
- - 7 kir — / — =
•-""* - '—i
— j»
} tVt* — & ^ 4 U L - L ,
™f^>
Lg^»'- K ' P " —
r
sp L'*f 11
— * — - t J £ -
qHE \t> • *tre-wj> - < / >
f-J? —
j 7 7jr | jp
&
>
ijy _ _ Jj£_
fc- ff . , f= > J =7—j4 V—=—* 1 ~hr~ g = * = mf
- = = = = =
TOjp
i ^ l l g ^ t v. W
0 ' J, f> |— JJZ
mp^rrtf
w / C mjP
35
132
i
t
mP ¥
36
136
f t T ~
i
L; f
w m €=
:ifzE m
7 > ^ l §
p
£ a B mp
144
37
TAPECflflTlrtUES FDR 10 Sec.
38
APPENDIX A
PTERIO
39
PTERIO
10 REM: THIS PROGRAM ANALYZES A MODEL SEQUENCE AND WRITES FURTHER 20 REM: MUSIC BASED ON THAT ANALYTICAL INFORMATION. 30 REM: THIS PROGRAM IS AN EXTENSION OF DINO. PTERIC• DOES "HAT 40 REM: DINO DOES PLUS 1) BREAKS DOWN MODEL INTO FOURTHS BY DURATION 50 REM: AND ANALYZES EACH FOURTH SEGMENT SEPARATELY. 2) SIMULT. 60 REM: INFO IS INPUT AND SIMILARLY ANALYZED— PROB'S FOR OCCURRENCE 70 REM: OF ANY SIMULT. IS CALCULATED AS WELL AS FOR CARDINALITIES OF 80 REM: SIM'S, INTERVAL CONTENT OF SIM'S, ALL FOR EACH "FOURTH" SEGMENT. 90 REM: 3) PTERIO MAPS THIS INFO ONTO ITS GENERATION BUT DIVIDES ITSELF 100 REM: INTO FOURTHS BY NUMBER OF EVENTS [INCLUDING RESTS]. THEREFORE, 110 REM: SEGMENTATION PROCESS IS DIFFERENT FOR MODEL ANALYSIS AND FOR 120 REM: GENERATION MAPPING. SEGMENTS OF GENERATION WILL NOT NECESSARILY 130 REM: DISPLAY SAME VALUE OF TIME PARTITION. 140 PR X NT11 sasssssasassxsBsasiaBSSsaraBaBaBSsasssasssswmarasassaBtasasaBaBaBKsssaKssaaMaBaBasaBassaaiassasssasaBsasasasasasass11
150 PRINT " WE ARE READY TO ANALYZE THE MODEL 160 PRINT 170 PRINT "THE FIRST MODULE ANALYZES DURATIONS OF EACH MELODY." 180 PRINT 190 PRINT "HOW MANY EVENTS (INCLUDING PITCHES AND RESTS) ?" 200 PRINT "NOTATE RESTS SO THAT NO MORE THAN 3 OCCUR CONSECUTIVELY." 210 INPUT L 220 LLLL=L+4 230 NW=L 240 LS=L 250 OPEN "0",#1,"PTERIO.DAT" , . 260 DIM EE(L), E(LLLL), EEE(L), ECAL(L), NTRD(l),SPIT(12), SPII(l) 270 DIM SIM(L), CARD(L), SPRO(2), SITT(500), SINT(12), SPFI(l) 280 DIM W(500), DD(300), TESI(4) 290 FOR H=1 TO L 300 PRINT "ENTER DURATION AS DENOMINATOR OF FRACTION (1/1,1/2,1/4,ETC)" 310 PRINT "BE SURE TO ENTER ONLY THE DENOMINATOR! NO LARGER THAN 64!!" 320 INPUT CC 330 IF GC>64 THEN PRINT "DURATION LARGER THAN 64,TRY AGAIN!!":GOTO 300 340 IF H=1 THEN 390 350 IF H/13 =INT(H/13) THEN 380 360 IF (H-1)/13=INT((H-1)/13) THEN 390 370 PRINT #1, CC;" ";:GOTO 400 380 PRINT #1, CC;:PRINT #l,:GOTO 400 390 PRINT #1, "R";" ";CC;« "; 400 EE(H)=CC 410 NEXT H 420 FOR I=*l TO L 430 ECAL(I)=EE(I)/(EE(I)*EE(I)) 440 TT=TT+ECAL(I) 450 NEXT I 460 PRINT "TOTAL DURATION FOR MELODY" ;" ";"IS";" "; TT 470 FOR LLD=1 TO L 480 RSEG= RSEG +ECAL(LLD):PRINT RSEG;" 490 IF SGCT«=1 THEN 530 ! « THESE LINES KEEP NUMBERS FROM BEING SELECTED 500 IF SGCT=2 THEN 540 !« THAT ARE NOT 1/4,1/2, ETC. IT COUNTS WHE/V 510 IF SGCT=3 THEN 550 J« A SEGMENT IS DECIDED. 520 IF RSEG >=(TT/4) THEN 560 ELSE 600 530 IF RSEG >=(TT/2) THEN 570 ELSE 600 540 IF RSEG >=(TT-(TT/4)) THEN 580 ELSE 600 550 IF RSEG -TT THEN 590 ELSE 600 560 SGCT=1:PLI=LLD :PRINT PLI;"####*###< ";:GOTO 600 570 SGCT=2:PLII=LLD :PRINT PLII;"######### ";:GOTO 600 580 SGCT=3:PLIII=LLD :PRINT PLIII;"######### ";:GOTO 600 590 PLIV=LLD :PRINT PLIV;"######### ";:GOTO 600 600 NEXT LLD 610 PRINT 620 PRINT «=====«=====s=E=s===========tB===»=*=======" 630 REM: THIS MODULE ANALYZES PITCH/INTERVAL CONTENT OF THE SEQUENCE. 640 REM: DIRECTIONAL INTERVALS ARE LOADED INTO AN ARRAY WHICH IS 650 REM: CONSULTED LATER IN THE PROB. DIST. ANALYSIS AND GENERATION. 660 REM: THIS VERSION ALSO WRITES THE INPUT MODEL SEQUENCE TO A FILE
40
670 REM: FOR FUTURE REFERENCE. 680 FOR B=1 TO L 690 SIIM=0 700 PRINT "ENTER PITCH NAME AND OCTAVE NUMBER ; SEPARATE WITH COMMA." 710 IF SSSS=1 THEN 810 720 PRINT "IF EVENT IS A REST, ENTER 'R,0' ." 730 PRINT "IF A SIM. ACCOMPANIES THE MEL. PIT., ADD '10' TO THE OCT.NUM." 740 PRINT "THIS WILL BE SUBTRACTED BY PLESIO LATER." 750 INPUT T$,0 760 IF 0<10 THEN 800 770 SIIM=1:0=0-10 780 IF SIIM-0 THEN 800 790 SIMOSIMC+1 800 SIM(B)=SIIM:PRINT "SIM(B)=";SIM(B),:GOTO 820 810 INPUT T$,0 820 0$-STR$(0) 830 IF SSSS-1 THEN 940 840 IF B=1 THEN 890 850 IF B/13=INT(B/13) THEN 880 860 IF (B-1)/13=INT((B-l)/13) THEN 890 870 PRINT #1, T$;MID$(0$,2);" ";:GOT0 900 880 PRINT #1, T$;MID$(0$,2);:PRINT #1, :GOTO 900 890 PRINT #1,:PRINT #1, "P";" ";T$;MID$(0$,2);" ";:GOTO 900 900 IF T$«="R" THEN R=R+1 910 IF T$="R" THEN E(B)=0:GOTO 1140 920 REM: THIS MODULE CONVERTS SCRIPTED PITCHES INTO NUMBERS(0-66) 930 REM? g=========as=======a=======r=====aeg:========~~^^^-^~——. 940 IF T$="C" THEN T=l:GOTO 1070 950 IF T$="C#" THEN T=2:GOTO 1070 960 IF T$="D" THEN T=3:GOTO 1070 970 IF T$="D#" THEN T=4:GOTO 1070 980 IF T$="E" THEN T=5:GOTO 1070 990 IF T$="F" THEN T»6:GOTO 1070 1000 IF T$="F#" THEN T«=7:GOTO 1070 1010 IF T$="G" THEN T=8:GOTO 1070 1020 IF T$="G#" THEN T=9:GOTO 1070 1030 IF T$="A" THEN T*=10:GOTO 1070 1040 IF T$="A#" THEN T=ll:GOTO 1070 1050 IF T$="B" THEN T=12:GOTO 1070 1060 PRINT "MISTAKE ENTERING!I TRY AGAIN.":GOTO 700 1070 IF T+(12-T)=12 THEN 1080 ELSE 1060 1080 IF SSSS=0 THEN 1130 1090 SPIT(B)=T+((0-1)*12) 1100 IF SCT=1 THEN 1110 ELSE 1160 1110 IF B=1 THEN SPFI (B) »=SPIT (B) 1120 GOTO 1160 1130 E(B) « T+ ((0-1)*12) 1140 PRINT E(B); 1150 IF B=L THEN PRINT #1, 1160 NEXT B 1170 IF SSSS^l THEN 1270 ! » THIS MODULE FOR SIM.'S 1180 SSSS=1 1190 FOR S=1 TO LS:PRINT "SIM(S)=";SIM(S) ", 1200 IF SIM(S)«=0 THEN 1400 1210 SCT=sSCT+l 1220 PRINT "HOW MANY PITCHES IN THIS SIM.?" 1230 INPUT SPP:L=SPP 1240 IF SPP>PP THEN CBIG=SPP 1250 PP=SPP 1260 GOTO 680 1270 FOR SA=1 TO SPP 1280 IF SA=SPP THEN 1390 1290 SINT(SA)=SPIT(SA+1)- SPIT(SA) : SILO=SILO+l 1300 SITT(SILO)=SINT(SA) 1310 IF SCT>1 THEN 1330 1320 IF SA=1 THEN SPII(1)=SITT(SILO) :GOTO 1380 !»THE 1ST PIT.
41
1330 1340 1350 1360 1370 1380 1390 1400 1410 1420 1430 1440 1450 1460 1470 1480 1490 1500 1510 1520 1530 1540 1550 1560 1570 1580 1590 1600 1610 1620 1630 1640 1650 1660 1670 1680 1690 1700 1710 1720 1730 1740 1750 1760 1770 1780 1790 1791 1792 1793 1794 1795 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 1920 1925
IF SA—l THEN SRDI= SPII (1) -SITT(SILO) IF SA=1 THEN SPII(1)«SITT(SILO) IF SRDI<1 THEN AOSA=AOSA+l IF SRDI>1 THEN BOSA=BOSA+l IF SRD3>0 THEN COSA=COSA+l M o v m S A
CARD(SCT)=SPP:PRINT "CARD" ? SCT CARD (SCT) ;"!!!", IF S-PLI THEN SISA=SILO:SCTA=SCTS TESI(1)=SILO IF S=PLII THEN SISB=SILO: SCTB=SCT: TESI (2) «=SILO IF S-PLIII THEN SISC=SILO:SCTC-SCT:TESI (3) =SILO IF S=PLIV THEN SISD=SILO:SCTD=SCT:TESI(4)=SILO IF SIM(S)=0 THEN 1470 PRINT «**";"LS=";LS PRINT "S=";S,
NEXT S L=NW:PRINT PRINT "ENTER DURATION FOR EACH SIM.", FOR RMOD=l TO SCT DPTNT•PPTNT MDUR ZRMOD. INPUT DURS:IF DURS>64 THEN PRINT "WRONG DURATION!1":GOTO 1510 DD(RMOD)=DURS NEXT RMOD PRINT:PRINT "ENTER VOL. FOR EACH PIT. OF EACH SIM.", FOR VMOD=l TO (SILO+SCT) PRINT*PRINT "VOL #VMODf INPUT*VOLS:IF VOLS>100 THEN PRINT "WRONG VOLUME!I":GOTO 1570 W(VMOD)=VOLS NEXT VMOD „ PRI NT M SBSsasstasssssaBSsaBSsassatffiBaBssassasssaBassBassssBaBSSSsasssaKSsassaasaBassaasssaasssas——sc*——— REM: THIS MODULE ANALYZES VOLUME STRING OF ME INDIES FOR 0=1 TO L „ PRINT "ENTER VOLUME AS SCRIPT NUMBER FROM 1-100" INPUT CCC IF CCOIOO THEN PRINT "VOL. LARGER THAN 100!! TRY AGAIN!!":GOTO 1640 IF 0=1 THEN 1720 IF 0/13=INT(0/13) THEN 1710 IF (0-l)/13=INT((0-1J/13) THEN 1720 PRINT #1, CCC;" ";:GOTO 1730 PRINT #1, CCC;:PRINT #1, :GOTO 1730 PRINT #1,:PRINT #1, "V";" ";CCC;" EEE(0)=CCC IF EEE(0)=0 THEN EEE(0)=101
NEXT O CLOSE #1 PRINT "DO YOU WANT TO CONTINUE THE PROGRAM?" INPUT TYU$ IF TYU$="Y" THEN 1800 ELSE 5610 IF REP$="Y" THEN 1792 ELSE 1800 OPEN "A",#2,"PTERIUS.DAT" OPEN "A",#3,"PTESIM.DAT" OPEN "A",#4,"PTESR.DAT" OPEN "A",#5,"PTESV.DAT":GOTO 1840 OPEN "O",#2,"PTERIUS.DAT" OPEN "O",#3,"PTESIM.DAT" OPEN "O", #4, "PTESR.DAT" OPEN "O", #5, "PTESV.DAT" PRINT "DO YOU WANT SIMS. TO BE SAME CARD AS MODEL OR'CARD+1' ?", PRINT:PRINT "ENTER '1' FOR SAME CARD; •2' FOR CARD+1 .", INPUT GENC FOR PLES=1 TO 4 IF PLES=1 THEN L=PLI:PLSG=1 IF PLES=2 THEN L=PLII:PLSG=PLI+1 IF PLES=3 THEN L=PLIII:PLSG=PLII+1 IF PLES=4 THEN L=PLIV:PLSG=PLIII+1 LLLL=L+4 LSIM=0
";:GOTO 1730
42
1927 SRSR«0:KLINK=0 1930 IF REP$="Y" THEN 2000 ELSE 1940
1950 ^ P^68KSI<6??! 0cSul8)? 5iTTT(68), NRS (500),NVS(500),NRSS(500) 1960 DIM AR(64), ARS(64), DDD(64) 1970 DIM AV(101) ,AP0(3) , A0(3), AVS(lOl)
1990 DIM NP(Io6)!(raUoOKNV(50ot?NPT(56o), NSIN(500),NSP(500) 2000 FOR CLEI=1 TO 68 2010 APS(CLEI)=0:STTT(CLEI)=0 2020 AP(CLEI)=0:CAR(CLEI)-0 2030 Q(CLEI)=0: CADD(CLEI)=0 2040 NEXT CLEI 2050 FOR CLEA=1 TO 64 2060 AR(CLEA)-0:ARS(CLEA)«0 2070 F(CLEA)-0:DDD(CLEA)=0 2080 NEXT CLEA 2090 FOR CLEB=1 TO 101 2100 AV(CLEB)=0:AVS(CLEB)=0 2110 G (CLEB) =0;WV (CLEB) =0 2120 NEXT CLEB 2130 FOR CLEC*1 TO 3 2140 APO(CLEC)=0:AO(CLEC)=0 2150 NEXT CLEC 2160 FOR CLED=1 TO 500 2170 NP (CLED) «=0: NSIN (CLED) =0:NSP(CLED) =0 2180 NR(CLED)=0:NRS(CLED)=0:NVS(CLED)=0 2190 NV(CLED)=0:NRSS(CLED)=0 2200 NPT(CLED)=0 2210 NEXT CLED
2230 IF°(L-PLSG)<**0 THEN PRINT "CAN'T HAVE SEGMENT WITH '1' EVENT!"s^O 2240 FOR DP= PLSG TO L 2250 SS=EE(DP):PRINT SS;"&&&&&&&"?" "; 2260 F(SS)=F(SS)+1 2270 PRINT F(SS);"FFFF";" "; 2280 NEXT DP 2290 0=0 2295 IF REP$="¥" THEN ERASE I:GOTO 2310 2300 IF PLES>1 THEN ERASE I 2310 DIM I(L) 2320 P0-0:PR=0:PS=0 2330 FOR C=PLSG TO LLLL 2340 IF C=L THEN 2560 ELSE 2350 2350 IF E(C)»0 THEN R=R+1 : GOTO 2550 2360 IF E(C+l)=0 THEN 2370 ELSE 2440 2370 IF E(C+2)=0 THEN 2380 ELSE 2450 2380 IF E(C+3)=0 THEN 2390 ELSE 2460 2390 IF C+1=L THEN 2550 2400 IF C+2=L THEN 2550 2410 IF C+3=L THEN 2550 2420 IF C+4=L THEN 2550 2430 I(C)=E(C)-E(C+4):GOTO 2470 2440 I(C)=E(C)-E(C+1):GOTO 2470 2450 I(C)-E(C)-E(C+2):GOTO 2470 2460 I(C)=E(C)-E(C+3):GOTO 2470 2470 IF I(C)=0 THEN I(C)=68 2480 IF 1(C)=68 THEN PS-PS+l;GOTO 2520 2490 1(C)- I(C)*((-ABS(I(C)))/ABS(I(C))) 2500 IF I(C)>0 THEN PO=PO+l 2510 IF I(C)<0 THEN PR=PR+1 2520 S=ABS(I(C)) 2530 Q(S)=Q(S)+1 2540 REM: Q ADDRESS IS INTERVAL SIZE,Q CONTENT IS OCCURRENCES 2550 NEXT C 2560 PRINT "UPWARD OCCURRENCE";PO,"DOWNWARD OCCURRENCE"PR,:PRINT
43
2570 FOR F= 1 TO 68 2580 PRINT "INTERVAL";" "?"SIZE"?" "?F?"OCCURRED"? Q(F)?" "?"TIMES", 2590 PRINT "WHICH IS"?" "? (Q(F)/((L-PLSG)-R)) *100?"%", 2600 PRINT 2610 NEXT F 2620 PRINT "MEL."?" "? "HAS PITCHES", 2630 FOR D=PLSG TO L 2640 PRINT E(D)? 2650 IF D=L THEN PRINT 2660 NEXT D 2670 FOR E=PLSG TO L 2680 IF E=L THEN 2720 ELSE 2690 2690 IF E=PLSG THEN 2700 ELSE 2710 2700 PRINT "EXACT DIRECTIONAL INTERVALS ARE"? I(E)?:GOTO 2720 2710 PRINT 1(E)? 2720 NEXT E 2730 FOR VP= PLSG TO L 2740 UU=EEE(VP) 2750 G(UU)=G(UU)+1 2760 NEXT VP 2770 PRINT "MEL."?" "? "HAS VOLUMES"?" "? 2780 FOR RR=PLSG TO L 2790 PRINT EEE(RR)? 2800 NEXT RR 2810 SPRO(1)=0:SPRO(2)*0 2820 IF PLES=1 THEN SOR=SISA:SAR=l:SC=SCTA:SARR=l 2830 IF PLES=2 THEN SOR=SISB:SAR=SISA+1:SO*SCTB:SARR=SCTA+1 2840 IF PLES=3 THEN SOR=SISCsSAR=SISB+l:SC=SCTC:SARR<=SCTB+l 2850 IF PLES=4 THEN SOR=SISD:SAR=SISC+l:SC=SCTD:SARR=SCTC+l 2860 SPRO(l)aB( (SC-SARR)+1,)/ ( (L-PLSG)-1-1) 2870 SPRO(2)«l 2880 000=0 2890 PRINT "TESI#"?PLES?"="?TESI(PLES) ?"§#$!%*&*", 2900 IF PLES>1 THEN 2910 ELSE 2930 2910 IF TESI(PLES)=TESI(PLES-1)THEN 000=1:GOTO 3030 2920 GOTO 2940 2930 IF TESI(PLES)=0 THEN 000=1:GOTO 3030 2940 FOR SMTZ=SAR TO SOR 2950 STUD=SITT(SMTZ):STTT(STUD)«STTT(STUD)+1 2960 PRINT "STTT"?STUD ?"="? STTT(STUD)? 2970 VL=W(SMTZ) :WV(VL)«VW(VL)+1 2980 NEXT SMTZ 2990 FOR SMTY=SARR TO SC 3000 STYD=CARD(SMTY):CADD(STYD)=CADD(STYD)+1:PRINT "CARD(SMTY)="?CARD(SMTY), 3010 DR=DD(SMTY):DDD(DR)=DDD(DR)+1 3020 NEXT SMTY 3030 IF PLES>1 THEN 3090 3040 REM * s===»=s=sasssssssss5SSssssss=:=ssssssssEssxsss=ssssBa=sss=sssssssssssss:s=as==;sssssssssssss=ss=ss= 3050 REM:=========THIS MODULE LOADS PROB. DIST. ARRAYS====== 3060 REM:=========FOR EACH OF THE PARAMETERS OF MELODY====== 3070 PRINT "HOW MANY EVENTS?" 3080 INPUT HME 3090 FOR HY=1 TO 4 3100 IF HY=1 THEN QQQQ=68 3110 IF HY=2 THEN QQQQ=64 3120 IF HY=3 THEN QQQQ=101 3130 IF HY=4 THEN QQQQ=3 3140 FOR HZ=1 TO QQQQ 3150 IF HY=2 THEN 3220 3160 IF HY=3 THEN 3250 3170 IF HY-4 THEN 3280 3180 AP(HZ)=Q(HZ)/((L-PLSG)-R) :PRINT "I#";HZ;"MEL";"#";W;"";"=";AP(HZ), 3190 IF OOO-l THEN 3310 3200 CAR(HZ)=CADD(HZ)/((SC-SARR)+1) :PRINT"CAR";HZ;"="fCAR(HZ), 3210 APS(HZ)=STTT(HZ)/((SOR-SAR)+l):PRINT "SIM#";HZ;;APS(HZ),:GOTO 3310 3220 AR(HZ)«F(HZ)/((L-PLSG)+1) :PRINT "R#";HZ;"MEL";"#";W,;AR(HZ),
44
3230 IF 000=1 THEN 3310
325? J^HZ)iG(HZ)/<^ *"MEL";"#» ;W;««;»=»;AV(HZ) , 3260 IF 000=1 THEN 3310
t ™ "AO(H2)-AOSA/(SCT-l,=eOTO 33!0 "IS IF S L i THEH APO (HZ) -PR/ ((L-PLSG) -R): AO (HZ) "BOSV (|CT-1) SGOTO 3310 3300 IF HZ=3 THEN APO(HZ)=PS/((L-PLSG)-R):AO(HZ)=COSA/(SCT-1) 3310 NEXT HZ 3320 NEXT HY 3330 LLP=1 3340 FOR LP= 1 TO LLP 3350 RANDOMIZE TIMER 3360 L=INT(HME/4) 3370 FOR IY=1 TO L-l 3380 FOR JY=1 TO 69 3390 RD=RND 3400 IF JY=69 THEN 3380 3410 IF RD> AP(JY) THEN 3420 ELSE 3430 3420 NEXT JY 3430 NP(IY)=JY 3440 PRINT RND;"I" 3450 IF JY=68 THEN NP(IY)=0 3460 NEXT IY 3470 RANDOMIZE TIMER 3480 FOR KY=1 TO L 3490 FOR LY=1 TO 64 3500 RD=RND 3510 IF RD> AR(LY) THEN 3520 ELSE 3540 3520 IF LY=64 THEN 3490 3530 NEXT LY 3540 NR(KY)=LY T H E N E W DURATION 3550 PRINT RND;"D";" MJ 3560 NEXT KY 3570 APO(1)=APO(1):AO(1)=AO(1) 3580 APO(2)=APO(1)+APO(2):AO(2)=AO(l)+AO(2) 3590 APO(3)=1:AO(3)=1 3600 PRINT APO(1);M";APO(2) ;"";APO(3) 3610 FOR MY=1 TO L 3620 IF PLES>1 THEN 3630 ELSE 3640 3630 IF MY=1 THEN NPT(MY)=NTRD(1) :GOTO 3820 'LOADS LAST NOTE GEN 3640 IF MY=1 THEN NPT(MY) = E(l):GOTO 3660 'FOR NOW,LOAD 1ST PIT 3650 IF MY>1 THEN 3680 3660 IF E(1)=0 THEN NPT(MY)=E(2):GOTO 3820 3670 GOTO 3820 3680 RANDOMIZE TIMER: RD=RND 3690 IF RD=LD THEN 3700 ELSE 3710 3700 RD=0:RD=RND:GOTO 3690 3710 FOR APX=1 TO 3 3720 IF APX=1 THEN POL=l 3730 IF APX=2 THEN POL=-l 3740 IF APX=3 THEN POL=0 3750 IF RD< APO(APX) THEN 3770 ELSE 3760 3760 NEXT APX 3770 NPT(MY)=NPT(MY-1) + (NP(MY-l)*POL) 'THE NEW PIT 3780 PRINT "RD=";RD;" 3790 LD=RD 3800 IF NPT(MY) <1 THEN NPT(MY)=NPT(MY-1)+(NP(MY-l)*1) 'CORRECTS NEG. 3810 IF NPT(MY) >72 THEN NPT(MY)=NPT(MY-1)+(NP(MY-1)*-1) • " " " 3820 NEXT MY 3830 NTRD(1)=NPT(L) 3840 IF NPT(L)=0 THEN NTRD(1)=NPT(L-1) 3850 RANDOMIZE TIMER 'THIS MOD. GEN. AND WRITES 3860 FOR SY=1 TO L 'PITCH MATERIAL. 3870 GENP=0:CUPI=0 3880 IF 000=1 THEN 3900
45
3890 IF SRE—l THEN 3900 ELSE 3990 'GEN. DUR. OF SIM.FILE 'R' FROM 3900 FOR XRS=1 TO 64 'PROB.ARRAY OF R'S IN MEL. 3910 IF CUPI=1 THEN GOTO 3990 3920 RD=RND 3930 IF RD>AR(XRS) THEN 3940 ELSE 3960 3940 IF XRS«64 THEN 3900 3950 GOTO 3980 3960 IF SRE=1 THEN NRS(SY~1)=XRS:CUPI=1 3970 IF 000=1 THEN NRS(S Y)«XRS:GOTO 3990 3980 NEXT XRS 3990 RANDOMIZE TIMER 4000 RD=RND:SRE=0 4010 IF 000=1 THEN SRE=1 ;GOTO 4640 4020 PRINT MSPRO l=";SPRO(l);"||||||",:IF RD>SPRO(l) THEN SRE=1 ELSE 4030 4025 SRSR^SRSR+l:GOTO 4640 4030 SR=SR+1 4040 FOR SYY=1 TO (CBIG+1) 4050 IF SYY=(CBIG+1) THEN 4040 4060 RD «RND:PRINT "%%%%%"?CAR(SYY)?"%%%%%", 4070 IF CAR(SYY)=1 THEN 4090 4080 IF RD>CAR(SYY) THEN 4100 4090 NCD^SYY:GOTO 4110 'THE NEW CARD. 4100 NEXT SYY 4110 FOR SSYY»1 TO (NCD-1) 4120 IF SR«1 THEN SRR=1 ELSE SRR=0 4130 FOR SYYY=1 TO 69 4140 IF SYYY«69 THEN 4130 4150 RD =RND: PRINT "APS" ?SYYY; ? APS (SYYY) , M
4160 IF RD>APS(SYYY) THEN 4180 4170 NSIN(SSYY)«SYYY:GOTO 4190 'THE (NEXT) NEW 4180 NEXT SYYY * f\T. 4190 NEXT SSYY 4200 IF GENC=1 THEN NCD=NCD-1 4210 IF NCD=1 THEN GENP=1 4220 LSIM=LSIM+NCD 4225 NRS(SY)=NCD*100 4230 FOR STY=1 TO NCD 4240 IF SRR=1 THEN 4250 ELSE 4270 4250 IF STY=1 THEN 4260 ELSE 4290 4260 NSP(STY)=SPFI(STY)SPRINT "SPFI 1"?"a";SPFI(STY);" ",:GOTO 4430 4270 IF STY=1 THEN 4310 ELSE 4290 4280 NSP(STY)«SFI 4- NSIN(STY) :GOTO 4300 4290 NSP(STY)=NSP(STY-1)+NSIN(STY-1) '1ST INT. OF EACH SIM SAME AS 4300 IF STY«1 THEN 4310 ELSE 4440 'BETWEEN ITS ROOT AND PREV 4310 RANDOMIZE TIMER:RD=RND 'NEXT ROOT IS GEN. FROM THE PREV 4320 IF RD=LDSS THEN 4330 ELSE 4340 4330 RD=0:RD^RND:GOTO 4320 4340 FOR APXS=1 TO 3 4350 IF APXS=1 THEN POL=l 'PROB. FOR DIR. OF ROOT MVT. 4360 IF APXSs=2 THEN POL=-l 4370 IF APXS=3 THEN POL=0 4380 IF RD<AO(APXS) THEN 4400 4390 NEXT APXS 4400 NSP(STY) =SFI+(NSIN(STY) *POL) :LDSS«RD 'THE NEW SIM 4410 IF NSP(STY)<1 THEN NSP(STY)=SFI+(NSIN(STY)*1) 1 PIT. 4420 IF NSP(STY)>72 THEN NSP(STY)=SFI+(NSIN(STY)*-1) 4430 SFI =NSP(STY) 4440 IF CCSI=1 THEN 4460 4450 DIM CSI$(12):CCSI=1 4460 FOR SCN=1 TO 12 4470 READ CSI$(SCN) 4480 NEXT SCN 4490 DATA C,C#,D,D#,E,F,F#,G,G#,A,A#,B,R 4500 RESTORE 4510 NCS=NSP(STY) 4520 IF NCS/12=INT(NCS/12) THEN OCTS«NCS/12:GOTO 4540
46
4530 OCTS=INT(NCS/12)+1 4540 BS$=STR$(OCTS) 4550 IF NCS<13 THEN 4590 4560 IF NCS/12=INT(NCS/12) THEN 4570 ELSE 4580 4570 PCLS—ABS(NCS-((INT(NCS/12)+l)*12)):GOTO 4600 4580 PCLS-ABS(NCS-(((INT(NCS/12))*12)))sGOTO 4600 4590 PCLS=NCS 4600 IF SY=1 THEN 4630 4610 IF GENP=1 THEN 4640 ELSE 4620 4620 IF STY-1 THEN 4640 ELSE 4660 4630 IF STY=1 THEN 4650 ELSE 4660 4640 IF (SY-l)/4= INT((SY-l)/4) THEN 4650 ELSE 4660 4650 PRINT #3, SPRINT #3,"P";" 4660 IF SRE=1 THEN PRINT #3,"R M;:GOTO 4760 4670 IF GENP=1 THEN 4720 4680 IF STY>1 THEN 4700 ELSE 4690 4690 PRINT #3,CHR$(91)?CSI$(PCLS);MID$(BS$,2) 4700 IF STY=NCD THEN 4710 ELSE 4720 4710 PRINT #3,CSI$(PCLS);MID$(BS$,2);CHR$(93)"jsGOTO 4740 4720 PRINT #3,CSI$(PCLS);MID$(BS$,2)«;:GOTO 4750 4730 PRINT #3,"R 4740 IF SY/4=INT(SY/4) THEN PRINT #3, 4750 NEXT STY 4760 IF SY/4=INT(SY/4) THEN PRINT #3, 4770 IF 000=1 THEN SRE=0 4780 NEXT SY 4790 RANDOMIZE TIMER 4800 FOR NY~1 TO L 4810 FOR OY=l TO 102 4820 RD=RND 4830 IF OY=102 THEN 4810 4840 IF RD> AV(OY) THEN 4850 ELSE 4860 4850 NEXT OY 4860 IF OY<101 THEN NV(NY)=OY ELSE NV(NY)=0 • THE NEW VOLUME 4870 PRINT RND;"V";" "; 4880 IF NV(NY)=0 THEN NPT(NY)=0 4890 NEXT NY 4900 RANDOMIZE TIMER 4910 FOR NYS=1 TO (LSIM+SRSR) 4920 IF 000=1 THEN NVS(NYS)=0:GOTO 4980 4930 FOR OYS=l TO 101 4940 RD=RND:IF OYS=101 THEN 4920 4950 IF RD>AVS(OYS) THEN 4960 ELSE 4970 4960 NEXT OYS 4970 NVS(NYS)=OYS 'THE NEW SIM. FILE VOL 4980 NEXT NYS 4985 IF 000=1 THEN 5080 4990 RANDOMIZE TIMER 4995 FOR KKYS=1 TO L 4997 IF NRS(KKYS) >0 AND NRS(KKYS) <65 THEN NRSS(KLINK+1)=NRS(KKYS):5G&9 5002 KINK=NRS(KKYS)/100:PRINT "{{{{{{{{{"/KINK;")}})}}})))" 5006 FOR KKKS=1 TO KINK 5007 IF KKKS>1 THEN 5060 5010 FOR LYS=1 TO 64 5020 RD=RND 5030 IF RD>ARS(LYS) THEN 5040 ELSE 5060 5040 IF LYS=64 THEN 5010 5050 NEXT LYS 5060 NRSS(KKKS+KLINK)-LYS 'THE NEW SIM. FILE DURATION 5061 IF NRSS(KKKS+KLINK)=0 THEN NRSS(KKKS+KLINK)=NRSS(KKKS+(KLINK-1)) 5062 NEXT KKKS 5064 KLINK=KINK+KLINK:GOTO 5070 5069 KLINK=KLINK+1 5070 NEXT KKYS 5080 IF CCON=l THEN 5100 5090 DIM CON$(13):CCON=l
47
5100 FOR CN=1 TO 13 5110 READ CON$(CN)
5130 S £ CNC,C#fD,D#,E,F,F#,G,G#,A,A#,B,R 5140 RESTORE 5150 FOR PY=1 TO L 5160 IF NPT(PY)=0 THEN PCL=13sGOTO 5270
Il80 IF NC/12=INT(NC/12) THEN OCT=NC/12:GOTO 5200 5190 OCT=INT(NC/12)+1 5200 RANDOMIZE TIMER 5210 B$*STR$(OCT) 5220 IF NC<13 THEN 5260 5230 IF NC/12=INT(NC/12) THEN 5240 ELSE 5250 5240 PCL=ABS(NC-((INT(NC/12)+1)*12)) :GOTO 5310 5250 PCL«ABS(NC-(((INT(NC/12))*12))) :GOTO 5310
5270 IF^Y/13=INT^PY/13) THEN PRINT #2, CONS (13) sGOTO 5370 5280 IF (PY-1)/13=INT((PY-1)/13) THEN 5290 ELSE 5300 §290 PRINT #2,:PRINT |2,»P'';« «;CON$(13) «;:GOTO 5370 5300 PRINT #2, CON$(13);" sGOTO 5370
5320 IF PY/13=INT(PY/13)'ITHEN''pRINT #2, CON$(PCL) ;MID$(B$,2, :GOTO 5370 I330 IF TPY-1)/13»INT((PY-1)/13) THEN 5340 ELSE 5350 5340 PRINT #2PRINT #2,»P»;" •';CON$(PCL) ;MID$(B$,2);« ";:GOTO 5370 5350 PRINT #2, CON$(PCL);MID$(B$,2) 5360 PRINT »****«;PCL;"****"; 5370 NEXT PY 5380 IF PY=L THEN PRINT #2, 5390 FOR QY=1 TO LSIM+SRSR 5400 IF QY>1 THEN 5410 ELSE 5430 5410 IF QY/13= INT(QY/13) THEN PRINT #4, NRSS(QY) ELSE 5420 5411 IF QY>L THEN 5460 ELSE 5412 5412 PRINT #2.NR(QY)sGOTO 5460 5420 IF (QY-1)/13=INT((QY-1)/13) THEN 5430 ELSE 5450 tilo PRINT #4/-PRINT #4, »R";" ";NRSS(QY)";:IF QY>L THEN 5460 ELSE 5432 5432 PRINT #2:PRINT #2"R";" «;NR(QY);» »;:GOTO 5460
5450 PRINT It, NRSS(QY);" »;:IF QY>L THEN 5460 ELSE 5452 5452 PRINT #2,NR(QY);" "! 5460 NEXT QY 5475 IF QY=LSIM+SRSR THEN PRINT #2,:PRINT #4, 5480 FOR RY=1 TO LSIM+SRSR 5485 IF RY=1 THEN 5520 5490 IF RY>1 THEN 5500 ELSE 5520 5500 IF RY/13= INT(RY/13) THEN PRINT #5, NVS(RY) ELSE 5510 5505 IF RY>L THEN 5550 ELSE 5507 5507 PRINT #2,NV(RY):GOTO 5550 5510 IF (RY-1)/13»INT((RY-1)/13) THEN 5520 ELSE 5540 5520 PRINT #5, SPRINT #5, ••V";" " ;NVS(RY);" 5525 IF RY>L THEN 5550 ELSE 5527 5527 PRINT #2,:PRINT #2,"V";" ";NV(RY);n ";:GOTO 5550 5540 PRINT #5, N V S ( R Y ) ; 5545 IF RY>L THEN 5550 ELSE 5547 5547 PRINT #2,NV(RY);" 5550 NEXT RY n 5560 IF RY-LSIM+SRSR THEN PRINT #2, SPRINT #5, 5570 IF PLES=4 THEN 5580 ELSE 5600 5580 CLOSE $2 $3 $4 *$5 5582 PRINT "Do'YOu'wANT ANOTHER RUN OF THE SAME TYPE SEQUENCE?" 5584 INPUT REP$ 5586 IF REP$="Y" THEN 1792 ELSE 5610 5590 NEXT LP 5600 NEXT PLES 5610 END
48
APPENDIX B
THE MODEL
49
THE MODEL
50
APPENDIX C
THE CS
51
THE CS
1 i i • ! 1
iVr " ^ * 1 = 4 ' ~ ~ b" m ^ a* * W J 0 0 0
f
! <£ Ps. ? : *P « ~"iy£ j^p g S I
F—J— | [" —** - -'
mjtM 3P1
52
i « T ? j g . f T
53
BIBLIOGRAPHY
Dodge, Charles, and Thomas A. Jerse. Computer Music: synthesis. Composition and Performance.New York: Schirmer Books, 1985.
Hume, David. An Enquiry Concerning Human Understanding and Concerning the Principles of Morals. New York: Oxford University Press, 1902.
Newell, Allen, and Herbert A. Simon. Human Problem Solving. Englewood Cliffs, N.J.: Prentice-Hall, Inc., 1972.
Sowa, J.F. conceptual Structures. IBM Systems Research Institute. Menlo Park, CA: Addison-Wesley Pub. Co., 1984.