Program Guide to COMPAKB Routines

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.

Back