Find the complement of a set class in a given mod k universe. Complements have long been recognized in pitch-class set theory as sharing many properties with each other. This is true to some extent when considering scales in continuous pc-space, but sometimes it is not! Therefore whenever you're exploring an odd property that a scale has, it can be useful to check that scale's complement (if you've come across the scale in some mod k context, of course).
Usage
sc_comp(set, canon = c("tni", "tn"), edo = 12, rounder = 10)
Arguments
- set
Numeric vector of pitch-classes in the set
- canon
What transformations should be considered equivalent? Defaults to "tni" (using standard set classes) but can be "tn" (using transposition classes)
- edo
Number of unit steps in an octave. Defaults to
12
.- rounder
Numeric (expected integer), defaults to
10
: number of decimal places to round to when testing for equality.
Value
Numeric vector representing a set class of length edo - n
where n
is
the length of the input set
Examples
diatonic19 <- c(0, 3, 6, 9, 11, 14, 17)
chromatic19 <- sc_comp(diatonic19, edo=19)
icvecs_19 <- rbind(ivec(diatonic19, edo=19), ivec(chromatic19, edo=19))
rownames(icvecs_19) <- c("diatonic ivec", "chromatic ivec")
icvecs_19
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
#> diatonic ivec 0 2 5 0 4 3 0 6 1
#> chromatic ivec 5 7 10 5 9 8 5 11 6