A Quasi-Prismatic
Pitch Class Series
Registrator
(1986..2001)
Version 1, 1986 (Pascal)
IntLens octave-complements &/or compounds the intervals of an input pitch-class
series in all combinations of selection by interval class. The selection cycle iterates
for each of six ranges of expansion, defined as <starting level for all ICs> to <target
level for selected ICs>. These are: class to complement, class to compound, class
to both; complement to compound, complement to both; and compound to both.
Within each range and combination, series registrations are calculated separately
per mirror form (P,I,R,RI) and coordinate order (X/Y or Y/X). The registrations total
(48 times (2 to the power of half the octave modulus)). Each is output as a pitch
series array of signed integers beginning with 0.
Version 2, 1988 (Forth)
Generation is expanded to specify for each Version 1 array all multiples within a
range of nine octaves. The registrations are now examined as simultaneities, i.e.,
as chromatic saturation chords. Output for each is a half-page chart with graph
and associated statistics, as for example:
A separate SORT available also outside the main loop details relationships among
these otherwise arbitrarily sequenced registrations. Up to sixteen criteria keys are
applied, independently ascending or descending and in user-specified priority.
Output is a vector-graph cascade with a sidebar of key values. The criteria are:
1) ExpLevel 5) Frame 9) MinInt 13) MinFreq 2) RowNum 6) Gaps>OD 10) MaxInt 14) MaxFreq 3) Factor 7) NumClust 11) IntSpread 15) FrqSpread 4) Range 8) MaxClust 12) IntsUsed 16) FrqsUsed
This version was optimized for prime-number octave dimensions through routines
incorporated from SetTrans_P, below. AllDeg, one of IntLens's secondary functions,
was fully developed later and separately as KRIKOS, score generator for several
pieces of that name. Its algorithm is described with them under Compositions.
IntLens 2 has a separate manual. Phil Winsor of UNT included the package among
Summer 1989 curricular materials at National Chiao Tung University, Taiwan.
Version 3, 1989 (APL)
Initially a development environment port, producing the first dependable output
graphs from function SORT, this version expanded IntLens's filing of intermediate
data for subsequent retrieval by independent compositional software.
Version 4, 2001 (J)
A final port, more fully absorbing its precursors and in a contemporary APL incar-
nation, this version anticipates its use as an external function with Csound-score
building and related facilities incorporated from KRIKOS.
A.I.R.
All-Interval-Row
Generator
(1988)
An old utility written in eight screens of Forth. Many fewer screens (or an APL one-liner) could deliver all that the subtitle promises. But its logic emphasizes the application of further constraints. Quoting the documentation:Generate a permutation of the integers modulo-n (pitch classes), such that all possible unique successive differences are represented in absolute value (i.e., as interval classes) twice each. If the modulus is even, then signs modi- fying the instances of a given interval class must be opposite; if it is odd, they must be the same, with a final value redundancy. The number of array positions separating the instance pair of each interval class must be unique for odd moduli and nearly so (one exception) for even.
Three arrays are output per example found: the pitch-class series, its intervals as signed classes, and the position separations per interval-class pair.SetTrans_P Prime-Only Octave Dimensions
for a
Generalized Multiplicative Transform
(1985)
Otherwise a standard PIRRI-matrices generator, this program assumed any octave modulus (from the dimension of its input array) and issued separate outputs per coordinate order or interval-multiplicative factor, to explore and document the following perspective:If the multiplicative transform is applied to a series whose octave dimen- sion is evenly divisible, a full cycle of permutations preserving the total chromatic cannot be had. It is for this reason alone that our 12-tone system yields not five such transformations (via factors 6,5,4,3,2) but just one (via factor 5). A 6-tone system yields none, but not because of its smallness. The mere 7-tone yields already two (via 3,2) and the 11-tone, four (5,4,3,2). And these occur simply because 7 and 11 are not divisible, but are prime. If octave dimension is prime and the multiplicative transform is applied via all factors (cardinally &/or ordinally, leading to I, R or RI), all interme- diate permutations preserve the full chromatic. Further, each end series is seen integrally with them in a continuous generation. Freed from its special-case constraint, the transform now proves a generative principle. This context integrates simple augmentation as well. Before reduction in- modulo, any series multiple 'refracts' the series as-it-were in expansions ranging another octave &/or durations-cycle for each factor increment.
This program's essential functions were later incorporated into IntLens 2, described above.
Peter Armstrong © 2006