intervalspectrum {musicMCT} | R Documentation |
Specific sizes corresponding to each generic interval
Description
As defined by Clough and Myerson 1986
(doi:10.1080/00029890.1986.11971924),
an "interval spectrum" is a list of all the specific (or "chromatic")
intervals that occur as instances of a single generic (or "diatonic")
interval within some reference scale. For instance, in the usual diatonic
scale, the generic interval 1 (a "step" in the scale) comes in two specific
sizes: 1 semitone and 2 semitones. Therefore its interval spectrum
\langle 1 \rangle = \{ 1, 2 \}
. These functions calculates the
spectrum for every generic interval within a set and return either a list of specific values in each
spectrum or a summary of how many distinct values there are.
Usage
intervalspectrum(set, edo = 12, rounder = 10)
spectrumcount(set, edo = 12, rounder = 10)
Arguments
set |
Numeric vector of pitch-classes in the set |
edo |
Number of unit steps in an octave. Defaults to |
rounder |
Numeric (expected integer), defaults to |
Value
intervalspectrum
returns a list of length one less than length(set)
. The nth entry of the list
represents the specific sizes of generic interval n. spectrumcount
returns a vector that reports the length
of each entry in that list (i.e. the number of distinct specific intervals for each generic interval).
Examples
intervalspectrum(sc(7,35))
qcm_fifth <- meantone_fifth()
qcm_dia <- sort(((0:6)*qcm_fifth)%%12)
intervalspectrum(qcm_dia)
just_dia <- 12 * log2(c(1, 9/8, 5/4, 4/3, 3/2, 5/3, 15/8))
intervalspectrum(just_dia)
spectrumcount(just_dia) # The just diatonic scale is trivalent.
# Melodic minor nearly has "Myhill's Property" except for its 3 sizes of fourth and fifth
spectrumcount(sc(7,34))