MAKE-REGISTER-TEST

[GENERIC-FUNCTION]


OMPitchField
Function Reference
ARGUMENTS:
  - reg-bounds N integers define boundaries of N - 1 pitch registers [default = (-9999 9999)]
  - reg-distribs each item is list of number of pitches expected in each register [default = ((1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12))]

Description:


Returns a predicate, intended for use with FILTER-CHORDLIST, to test if
the elements of a pitch set are distributed in particular ways across the
N - 1 registers determined by REG-BOUNDS. (Each register runs from its
lower bound to just below its upper bound.)

Each of the REG-DISTRIBS is a list of N - 1 numbers corresponding to the
expected number of pitches in each register, considered from low to high.

For a given chord C, testing proceeds as follows:

If any pitches lie below the lowest (or above the highest) register
specified in REG-BOUNDS, the test returns FALSE immediately.
Otherwise, the registral distribution of pitches in C is compared to
each element of REG-DISTRIBS. The test returns TRUE if a match is
found, FALSE otherwise.

EXAMPLE

REG-BOUNDS: (-12 0 12)
REG-DISTRIBS: ((2 3) ; distrib-a
(0 5) ; distrib-b
(2 0) ; distrib-c
)

Chord (-12 -6 3 5 7) matches distrib-a.
Chord (0 3 5 6 7) matches distrib-b.
Chord (-7 -5) matches distrib-c.
Chord (-8 -7 -6 -5 -4) has distribution (5 0),
which matches none of the expected distributions.
Chord (1 7 12) has a pitch out of range.



Auto doc generation by OpenMusic 6.3 © 2010 IRCAM