1) Utilities
2) Series and Motif Operations
3) Probability Distribution Functions
4) Sorting and Searching Routines
5) Sound/Text Composition
6) General Composition
The driver routines and subroutines are all "hardwired" to
allow their presentation in stripped-down form. Therefore,
anyone wishing to modify the programs for interactive use must
add INPUT statements, some code to test viability of data entered
from the terminal, and prompts to guide the program user. Arrays
should be redimensioned to accommodate variable-size output
requests.
PROGRAM GUIDE
1.0 Utilities
SUBROUTINE: Tunings
COMPAKB1.1 . . . . . . . . . . . . . . . . . . . . . . .
Compiles a data table containing equal-tempered,
octave-repeating, microtonal scale tunings.
SUBROUTINE: Modulo
COMPAKB1.2 . . . . . . . . . . . . . . . . . . . . . . .
Returns an integer, Mod m.
SUBROUTINE: Pitchtab
COMPAKB1.3 . . . . . . . . . . . . . . . . . . . . . . .
Initializes a pitch data table for conversion
of integers to pitch classes.
SUBROUTINE GROUP: VECTORS . . . . . . . . . . . . . . . . .
Establishes 'event vectors' by storing pitch, rhythm,
and volume data in one double precision number.
COMPAKB1.4 Parstore
(Stores three values in one address)
COMPAKB1.5 Parxtrct
(Extracts three values from one address)
SUBROUTINE GROUP: 1MATOP . . . . . . . . . . . . . . . . .
Standard operations on one 2-dimensional matrix.
COMPAKB1.6 Matprint
(Formats printout of matrix contents)
COMPAKB1.7 Matmult
(Multiplies address contents by a factor)
COMPAKB1.8 Matransp
(Exchanges matrix row and column contents)
COMPAKB1.9 Zeromat
(Resets matrix address contents to 0)
SUBROUTINE GROUP: 2MATOP . . . . . . . . . . . . . . . . .
Standard operations on two 2-dimensional matrices.
COMPAKB1.6 Print2mat
(Formats printout of matrix contents)
COMPAKB1.10 Add2mat
(Adds address contents of two matrices)
COMPAKB1.11 Mult2mat
(Multiplies contents of matrix 1 by the
contents of matrix 2)
SUBROUTINE GROUP: CURVES . . . . . . . . . . . . . . . . .
Generates a positive, ascending integer sequence conforming
to one of three available curves.
COMPAKB1.12 Lincurve
(Returns a linear sequence)
COMPAKB1.13 Expcurve
(Returns an exponential sequence)
COMPAKB1.14 Logcurve
(Returns a logarithmic sequence)
SUBROUTINE: Fractab
COMPAKB1.15 . . . . . . . . . . . . . . . . . . . . . .
Sums an array of rhythm duration fractions
which have the numerator 1.
SUBROUTINE: Durred
COMPAKB1.16 . . . . . . . . . . . . . . . . . . . . . .
Reduces an array of rhythm duration fractions
in conformity to metrical pulse subdivision.
SUBROUTINE: Eucreduc
COMPAKB1.17 . . . . . . . . . . . . . . . . . . . . . .
Reduces an array of rhythm duration fractions
to absolute lowest terms.
SUBROUTINE GROUP: FRACTSUM . . . . . . . . . . . . . . . .
Produces the fractional sum of a multivariant, fractional
rhythm-duration array.
COMPAKB1.18 LCM
(Computes least common multiple)
COMPAKB1.19 GCD
(Euclid's algorithm computes greatest
common divisor)
SUBROUTINE: Decfrac
COMPAKB1.20 . . . . . . . . . . . . . . . . . . . . . .
Converts an array of decimal values to an array
of rhythm duration fractions.
SUBROUTINE: Fracdec
COMPAKB1.21 . . . . . . . . . . . . . . . . . . . . . .
Converts an array of rhythm duration fractions
to an array of decimal equivalents.
SUBROUTINE GROUP: DECBIDEC . . . . . . . . . . . . . . . .
Converts an array of positive decimal integers to
an array of binary equivalents - and vice versa -
for parameter mapping applications.
COMPAKB1.22 Dec-bin
(Decimal to binary conversion)
COMPAKB1.23 Bin-dec
(Binary to decimal conversion)
SUBROUTINE: Stirling
COMPAKB1.24 . . . . . . . . . . . . . . . . . . . . . .
Stirling's approximation algorithm. Returns
the exact log of n! factorial for values <= 10,
and the approximation of the log of n! factorial
for larger values.
SUBROUTINE GROUP: PERMUTOT . . . . . . . . . . . . . . . .
Computes the number of unique arrangements of n elements
taken m at a time.
COMPAKB1.25 Permuts
(Calls Stirling's Approximation to compute
factorials for permutations)
COMPAKB1.24 Stirling
(Computes n! factorial)
SUBROUTINE GROUP: COMBNTOT . . . . . . . . . . . . . . . .
Computes the number of combinations of n elements
taken m at a time.
COMPAKB1.26 Combins
(Calls Stirling's Approximation to compute
factorials for combinations)
COMPAKB1.24 Stirling
(Computes n! factorial)
SUBROUTINE GROUP: HISTO . . . . . . . . . . . . . . .(VOL. II)
Generates a bargraph display of dataset attributes.
COMPAKB1.27 Freqtabl
(Records the occurrence frequency of
random values generated during run-time)
COMPAKB1.28 Bargraph
(Generates, displays a simple histogram)
SUBROUTINE: Grafplot
COMPAKB1.29 . . . . . . . . . . . . . . . . . . . (VOL. II)
Prints an x-y line graph of two interdependent
parameters (such as sound pressure over time).
SUBROUTINE GROUP: NORMHIST . . . . . . . . . . . . . (VOL. II)
Tests probability distribution functions for
suitability to specific musical parameters.
COMPAKB1.27 Freqtabl
(Records occurrence frequency of randomly
generated integers)
COMPAKB1.30 Datanorm
(Compresses wide-range data to fit within
range 0 to 1)
COMPAKB1.28 Bargraph
(Generates, displays a normalized
histogram)
SUBROUTINE GROUP: STATS . . . . . . . . . . . . . . .(VOL. II)
Returns statistical measurements of a data set for
use in analytic/synthetic procedures.
COMPAKB1.27 Freqtabl
(Records occurrence frequency of randomly
generated integers)
COMPAKB1.28 Bargraph
(Generates, displays a simple histogram)
COMPAKB1.31 Maxval
(Returns statistical mode of a data set)
COMPAKB1.32 Minval
(Returns least frequent data set value)
COMPAKB1.33 Mean
(Returns arithmetic mean of data set)
COMPAKB1.34 Variance
(Returns variance of a data set)
COMPAKB1.35 Stdev
(Returns standard deviation and standard
error of the mean of a data set)
SUBROUTINE GROUP: LINEGEN . . . . . . . . . . . . . (VOL. II)
Computes the straight line representing directional
tendency of a musical parameter data set.
COMPAKB1.36 Linefit
(Linear Least Squares Fit algorithm; returns
the equation of the straight line that best
fits a data set)
COMPAKB1.29 Grafplot
(Generates, displays an x-y graph of the
Linefit equation)
2.0 Series and Motive Operations
SUBROUTINE GROUP: MOTFORMS . . . . . . . . . . . . . . . .
Transforms an input motive (melodic pitch sequence) by
one of three available methods: reverse-order, mirror
inversion, or pitch-level transposition.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
COMPAKB1.6 Matprint
(Formats printout of matrix contents)
COMPAKB2.1 Motretro
(Accepts an integer array and returns
its retrograde form)
COMPAKB2.2 Motinvrt
(Accepts an integer array and returns
its intervallic mirror image.)
COMPAKB2.3 Motrnpz
(Accepts an integer array and returns
an intervallic transposition)
SUBROUTINE GROUP: DISPLACE . . . . . . . . . . . . . . . .
Converts a numeric pitch-class array to a string array of
octave-displaced pitches. (Individual pitch displacements
are stored in a reference array.)
COMPAKB2.4 Displace
(Accepts an array of integers, returns an
array of numerically displaced integers)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE: Alterseq
COMPAKB2.5 . . . . . . . . . . . . . . . . . . . . . .
Accepts an integer array and returns an integer
array which has been intervallically expanded
or contracted.
SUBROUTINE: Setflag
COMPAKB2.6 . . . . . . . . . . . . . . . . . . . . . . .
Generates a random-order series of integers
(no repetition of values permitted) by discard-
a random number if a redundancy reference table
holds a flag showing that the value has been
previously generated.
SUBROUTINE: Conshufl
COMPAKB2.7 . . . . . . . . . . . . . . . . . . . . . . .
(Disruptive) Shuffles an integer array by
swapping contents of randomly selected array
addresses; an in-place shuffle.
SUBROUTINE: Addshufl
COMPAKB2.8 . . . . . . . . . . . . . . . . . . . . . . .
(Nondisruptive) Shuffles a list of pointers
to the addresses of an integer array, leaving
the array undisturbed for future access.
SUBROUTINE GROUP: ROWFORMS . . . . . . . . . . . . . . . .
Produces commonly used 12-tone numeric row forms
- original, retrograde, inversion - and their transpo-
sitions.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
COMPAKB2.7 Conshufl
(Shuffles an integer array (in place) by
random swapping of address contents)
COMPAKB2.9 Rowretro
(Accepts a numeric 12-tone series and
returns the retrograde form)
COMPAKB2.10 Rowinvrt
(Accepts a numeric 12-tone series and
returns the mirror inverted form)
COMPAKB2.11 Rowtrnpz
(Accepts a numeric 12-tone series and
returns transpositions.
SUBROUTINE GROUP: ROWSQUARE . . . . . . . . . . . . . . . .
Generates and displays a square matrix containing all
forms and transpositions of a 12-tone pitch row.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
COMPAKB2.6 Setflag
(Generates a random-order series of integers
by the array flag method)
COMPAKB2.12 Rowmat
(Prints the formatted matrix)
SUBROUTINE GROUP: MODOPS . . . . .. . . . . . . . . .(VOL. II)
Accepts an integer series array and returns an array
holding a permutation generated via the M5 or the M7
operation.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
COMPAKB2.7 Conshufl
(Shuffles an integer array (in place) by
random swapping of address contents)
COMPAKB2.13 M5setM7
(Returns a permutation of an input series
by either the 'M5' or 'M7' operation)
SUBROUTINE GROUP: PSTNPERM . . . . . . . .. . . . . (VOL. II)
Generates a prime-order series permutation by swapping
pitch-class numbers with position-in-set numbers.
COMPAKB2.6 Setflag
(Generates a random-order series of integers
by the array flag method)
COMPAKB2.14 Pstnperm
(Swaps pitchclass numbers with position-
in-set numbers)
SUBROUTINE: Samplset
COMPAKB2.15 . . . . . . . . . . . . . . . . . . . . .(VOL. II)
Accepts a numeric series array and returns
permutations generated by cyclically sampling
the series at a selected interval (an adap-
tation of the classic Josephus' Problem).
SUBROUTINE: Systperm
COMPAKB2.16 . . . . . . . . . . . . . . . . . . . . .(VOL. II)
Accepts an integer series array, then employs
a search algorithm to display all permutations
(user-limited).
SUBROUTINE GROUP: ROTATION . . . . . . . . . . . . . . (VOL. II)
Generates an integer series array, then performs rotation
and transposition operations for screen display.
COMPAKB2.6 Setflag
(Generates a random-order series of integers
by the array flag method)
COMPAKB2.17 Setrotat
(Accepts an unpartitioned series, then
rotates set members by moving a select-
ed note-group from beginning to end of
series)
COMPAKB2.18 Zerotrnpz
(Transposes a collection of numeric
12-tone series to the '0' start point)
COMPAKB2.19 Segrotat
(Rotates partitioned-series segment
members)
COMPAKB1.19 GCD
(Euclid's Greatest Common Divisor)
SUBROUTINE GROUP: TIMPOINT . . . . . . . . . . . . . (VOL. II)
Derives rhythm duration values from an input series via
the timepoint system.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
COMPAKB2.6 Setflag
(Generates a random-order series of integers
by the array flag method)
COMPAKB2.20 Timpoint
(Accepts an input 12-tone series and
returns an array of derived rhythm
durations values for use as timpoints.
SUBROUTINE GROUP: ALINTSEQ . . . . . . . . . . . . . (VOL. II)
Maps a series of (unique) intervals to the pitch
classes of the chromatic scale, producing an
all-interval SEQUENCE (it may or may not be a
pitch-class series).
COMPAKB2.21 Alintseq
(computes the mapping of intervals to
pitch-classes)
COMPAKB2.7 Conshufl
(Shuffles an integer array (in place) by
random swapping of address contents)
SUBROUTINE GROUP: ALINTSET . . . . . . . . . . . . . (VOL. II)
Generates all-interval 12-tone series by the sample/
test-discard/keep, "brute force method".
COMPAKB2.22 Alintset
(Generates the all-interval series)
COMPAKB1.9 Zeromat
(Resets a 2-dimensional array)
COMPAKB2.23 Setstore
(Maintains an identity check of gener-
ated series; unique ones are stored)
SUBROUTINE GROUP: INTLINK . . . . . . . . . . . . . .(VOL. II)
Generates a random-order series, locates the point at
which interval redundancy occurs, then links subsequent
set permutations by using remaining set members as the
nucleus for the next set.
COMPAKB2.24 Intlink
(Generates and links 12-tone sets)
COMPAKB1.6 Matprint
(Formats printout of matrix contents)
COMPAKB1.9 Zeromat
(Resets a 2-dimensional array)
SUBROUTINE: Valratio
COMPAKB2.25 . . . . . . . . . . . . . . . . . . . .(VOL. II)
Controls the ratio of repeated integers
to unique integers in a random-order
stream of values, by preventing repeti-
tion of values which fall within a
'window' of predetermined size.
SUBROUTINE: Markov
COMPAKB2.26 . . . . . . . . . . . . . . . . . . . .(VOL. II)
Generates a Markovian integer summation
residue cycle; provides a table of integer
occurrence frequencies.
3.0 Probability Distribution Functions
SUBROUTINE: Beta
COMPAKB3.1 . . . . . . . . . . . . . . . . . . . . . . .
Eulerian Beta Distribution Function generates
continuously variable, random-order values
within range 0 to 1; curve shape is controlled
by two input parameters.
SUBROUTINE: Bilexp
COMPAKB3.2 . . . . . . . . . . . . . . . . . . . . . . .
Bilateral Exponential Distribution Function
generates random-order negative to positive
values centered about 0; a single input para-
meter controls horizontal spread of values.
SUBROUTINE: Cauchy
COMPAKB3.3 . . . . . . . . . . . . . . . . . . . . . . .
Generates random-order, continuously variable
numbers centered about 0.
SUBROUTINE: Expon
COMPAKB3.4 . . . . . . . . . . . . . . . . . . . . . . .
Exponential Distribution Function generates
random-order, continuously variable numbers
within range 0 to 1; results closer to 0 are
most likely to occur, with probability of
higher numbers falling off exponentially.
SUBROUTINE: Gamma
COMPAKB3.5 . . . . . . . . . . . . . . . . . . . . . . .
Returns random-order, continuously variable numbers
across an asymmetrical curve; particularly useful
in rhthmic applications.
SUBROUTINE: Gauss
COMPAKB3.6 . . . . . . . . . . . . . . . . . . . . . . .
Also referred to as the 'normal distribution',
the resultant curve is bell-shaped; standard
deviation and the mean are control parameters.
SUBROUTINE: Hypcosin
COMPAKB3.7 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Hyperbolic Cosine Probability Distribution
Function produces a symmetrical curve centered
about 0, but lacking a mean value.
SUBROUTINE: Linear
COMPAKB3.8 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Generates continuous, random-order numbers
within range 0 and 1; results closer to 0 are
most likely to occur.
SUBROUTINE: Logistic
COMPAKB3.9 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Generates continuously variable random numbers,
negative to positive; two control parameters
determine mean and dispersion.
SUBROUTINE: Poisson
COMPAKB3.10 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Returns non-negative, random-order integers;
a single control parameter determines the
distribution of values.
SUBROUTINE: Rnd-Rnd
COMPAKB3.11 . . . . . . . . . . . . . . . . . . . . (VOL. II)
This recursive RND function generates a range
of integers whose occurrence frequency falls
off with magnitude.
SUBROUTINE: Weibull
COMPAKB3.12 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Generates random-order real numbers greater
than 0. Its curve can assume a variety of
shapes in accordance with the value of one
of two control parameters.
SUBROUTINE: Triangle
COMPAKB3.13 . . . . . . . . . . . . . . . . . . . (VOL. II)
Generates continuous, random-order values
within range 0 to 1; its curve is triangular.
4.0 Sorting and Searching
SUBROUTINE: Shellsrt
COMPAKB4.1 . . . . . . . . . . . . . . . . . . . . . . .
Shell sort is an in-place, binary sort which
is fast and easy to understand.
SUBROUTINE: S-Msort
COMPAKB4.2 . . . . . . . . . . . . . . . . . . . . . . .
Shell-Metzner sort; a variation on
Shell sort.
SUBROUTINE: Quicksrt
COMPAKB4.3 . . . . . . . . . . . . . . . . . . . . . . .
Quicksort is one of the fastest sorting
algorithms; however, it requires more code
in BASIC because it uses a stack.
SUBROUTINE: Delrepl
COMPAKB4.4 . . . . . . . . . . . . . . . . . . . . . . .
Delayed Replacement Sort; an improvement
over the standard replacement sort.
SUBROUTINE: Insort
COMPAKB4.5 . . . . . . . . . . . . . . . . . . . . . . .
Insertion Sort; also known as the card
players sort; relatively fast.
SUBROUTINE: Tsearch1
COMPAKB4.6 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Linear unsorted table search; scans a
table for occurrence of keyed values.
SUBROUTINE: Tsearch2
COMPAKB4.7 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Binary Search algorithm which requires a
sorted table with unique entry keys; one of
the fastest search subroutines in common use.
SUBROUTINE: Tsearch3
COMPAKB4.8 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Interpolation Search requires a sorted table
of unique keys; it is faster than the Binary
Search when distribution of list items is
highly skewed.
SUBROUTINE: Tsearch4
COMPAKB4.9 . . . . . . . . . . . . . . . . . . . . (VOL. II)
Proximity Search requires a sorted list of
unique keys; more powerful than other search
algorithms in that it returns a subset of the
table on either side of the keyed value, even
if the key is not in the list.
5.0 Sound/Text Composition
SUBROUTINE GROUP: SNDTEXT . . . . . . . . . . . . . . . .
Invokes two fundamental sound/text-relating subroutines
which map pitch integers onto the ASCII character set
and convert the ASCII set to pitch integers.
COMPAKB5.1 Sndtext1
(Converts pitch integers to their corres-
ponding character representation using
the BASIC CHR$ function (text from sound).
COMPAKB5.2 Sndtext2
(Converts text characters to their corres-
ponding integer representation using the
BASIC ASC function (sound from text).
SUBROUTINE GROUP: WORDPLAY . . . . . . . . . . . . . . . .
Explores text-processing procedures; a poem is the
basis for two types of variations: word randomization,
and line randomization. Utility subroutines perform
routine clean-up/compress tasks.
COMPAKB5.3 Randline
(An adaptation of the sampling-without-
replacement algorithm; randomizes text
line-order)
COMPAKB5.4 Nextword
(Extracts the next word in line from
a table of text phrases)
COMPAKB5.5 Strclean
(Strips all special characters from a
string, then compresses it)
COMPAKB5.6 Average
(Computes the weighted average length of
all words in the text)
COMPAKB5.7 Randword
(Randomizes text word-order)
SUBROUTINE GROUP: GEN-CON . . . . . . . . . . . . .(VOL. II)
Composes 4 poem structures resembling Haiku poetry,
converts each poem line to corresponding musical
pitches.
COMPAKB5.8 Genpoem
(Composes 3-line poems from program
vocabulary)
COMPAKB5.9 Artcheck
(Checks agreement of articles with
adjectives and nouns; makes corrections)
COMPAKB5.2 Sndtext2
(Converts text characters to their
corresponding integer representation, then
prints them as musical pitches.
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches.
SUBROUTINE: Cycltext
COMPAKB5.10 . . . . . . . . . . . . . . . . . . . (VOL. II)
Shifts the letters and blanks of a source
text via prime numbers.
6.0 General Composition
SUBROUTINE: Loopgen1
COMPAKB6.1 . . . . . . . . . . . . . . . . . . . . . . .
A pattern/process-oriented subroutine;
generates a given number of copies of
an input sequence while processing the
sequence in one of two length-altering
modes: additive or subtractive.
SUBROUTINE: Loopgen2
COMPAKB6.2 . . . . . . . . . . . . . . . . . . . . . . .
A pattern/process oriented subroutine;
shifts a specific number of notes/values
from the end of a sequence to the
beginning while generating a specified
number of copies (shifted values may
be placed in reverse order).
SUBROUTINE GROUP: PRIMOPS . . . . . . . . . . . . . . . .
Generates two arrays: a range-limited prime number list,
and a list of numeric intervals separating the primes;
Applicable to rhythm and other parameters.
COMPAKB6.3 Primintv
Creates an array of primes within range,
and an array of numeric intervals separating
the primes.
COMPAKB6.4 Primnum
Locates and returns prime numbers from a
stream of consecutive numbers within a
specified range.
SUBROUTINE: Trantabl . . . . . . . . . . . . . . . . . . .
COMPAKB6.5
Transition Probability Table generates melodic
(or other) sequences in conformity to prob-
abilities stored in a 2-dimensional matrix.
SUBROUTINE GROUP: VALUPROB . . . . . . . . . . . . . . .
Reads probability weights into a cumulative table,
then generates an integer sequence with occurrence
frequencies in relative proportion to table weights;
resulting array can serve as a set of pointers to
any musical parameter element table.
COMPAKB6.6 Probtabl
(Reads probability weights into a table)
COMPAKB6.7 Probcalc
(Generates integers in relative propor-
tion to weights contained in a cumula-
tive probability table)
SUBROUTINE: Randwalk
COMPAKB6.8 . . . . . . . . . . . . . . . . . . . . . . .
Simulates a simple, bi-directional random
walk which is restricted at both ends.
SUBROUTINE: Matwalk
COMPAKB6.9 . . . . . . . . . . . . . . . . . . . . . . .
Simulates a random walk within the boundaries
of a 2-dimensional matrix of pitch, rhythm,
volume, or other parameter values.
SUBROUTINE: Voss
COMPAKB6.10 . . . . . . . . . . . . . . . . . . . . . .
Generates so-called fractal integer patterns;
each subsequent value is conditional on the
last value generated, and all values correlate
logarithmically with the past.
SUBROUTINE GROUP: RDINTCHD . . . . . . . . . . . . . . .
Generates a group of variable-density chords having
in common a random-order interval aggregate.
COMPAKB6.11 Rdintchd
(Generates the chords)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: OCTSCALE . . . . . . . . . . . . . . . .
Returns octave-repeating scales/gamuts derived
from an interval set.
COMPAKB6.12 Octscale
(Generates scales/gamuts)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: INTGAM . . . . . . . . . . . . . . . . .
Returns non-octave-repeating gamuts derived from
an interval set.
COMPAKB6.13 Intgam
(Generates the gamuts)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: RHYPROPS . . . . ... . . . . . . . . . .
Converts rhythmic information - expressed as numeric
proportions - into rhythm durations.
COMPAKB1.4 Parstore
(Stores three values in one address)
COMPAKB1.5 Parxtrct
(Extracts three values from one address)
COMPAKB6.14 Rhyprops
(Converts numeric ratios (rhythmic
proportions) to duration fractions)
SUBROUTINE GROUP: POLYRHY . . . . . . . . . . . . . .(VOL. II)
Computes random-order rhythm duration sequences
on 4 selectable levels of complexity; produces
polyrhythmic output layers which occupy identical
time frames.
COMPAKB6.15 Polyrhy
(Generates rhythm duration sequences)
COMPAKB1.16 Durred
(Reduces rhythm duration fractions in
conformity to metrical pulse subdivision)
SUBROUTINE GROUP: MELINE . . . . . . . . . . . . . . (VOL. II)
Returns a sequence of pitches constrained by interval-
size measurement.
COMPAKB6.16 Rest
(Computes rest note probability)
COMPAKB6.17 Rdmelint
(Computes the interval sequence)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: PARTSPAN . . . . . . . . . . . . . .(VOL. II)
Returns multiple random-order melodic lines derived
from a common pitch bank source in stratified or
interlocking range relationships.
COMPAKB6.18 Partspan
(Computes stratified or interlocking
instrumental part ranges in reference
to a source pitch bank)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: ORNAMENT . . . . . . . . . . . . . .(VOL. II)
Generates a random-order pitch sequence, then adds
embellishments to selected notes in accordance with
weighted ornament-type probabilities.
COMPAKB6.19 Ornselec
(Loads a probability table with weights for
each of 4 melodic ornament patterns)
COMPAKB6.20 Addorn
(Expands a source melodic line by
inserting embellishments in accordance
with weighted probabilities)
COMPAKB1.3 Pitchtab
(Initializes a pitch data table for
conversion of integers to pitches)
SUBROUTINE GROUP: SEQFILE . . . . . . . . . . . . . (VOL. II)
Files and retrieves an articulated group of integer
sequences.
COMPAKB2.21 Seqstore
(Files integer sequences together with
sequence-length indicators)
COMPAKB2.22 Seqxtrct
(Retrieves and individually displays
sequences)
SUBROUTINE: Scorform
COMPAKB6.23 . . . . . . . . . . . . . . . . . . . .(VOL. II)
Formats separate data files into a comprehen-
sive score of sequence data for 3 parameters:
pitch, rhythm, and volume.