Learn R Programming

musicMCT (version 0.1.2)

vl_generators: Which transpositions give elementary voice leadings?

Description

Just as the transpositions of the diatonic scale can be generated by Hook (2008)'s doi:10.1515/9781580467476-008 elementary "signature transformation," the transpositional voice leadings of any set can generally be decomposed into a small number of basic motions. These motions correspond to the arrows in a set's brightnessgraph(). (The qualifier "generally" is needed because of certain problematic edge cases, such as the perfectly even scales of edoo() whose minimal voice leadings always involve entirely parallel motion, which cannot be derived from "mode shift" voice leadings represented on a brightness graph.) vl_generators() identifies these basic voice-leading motions.

Usage

vl_generators(set, edo = 12, rounder = 10)

Value

2-by-m matrix whose m columns represent the m distinct voice-leading generators. The top row indicates the generic size of each interval; the bottom row indicates the specific size. Results are sorted so that the first row (generic intervals) is strictly increasing.

Arguments

set

Numeric vector of pitch-classes in the set

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.

Examples

Run this code
diatonic_scale <- c(0, 2, 4, 5, 7, 9, 11)
melodic_minor <- c(0, 2, 3, 5, 7, 9, 11)
vl_generators(diatonic_scale)
vl_generators(melodic_minor)
vl_generators(j(dia))

maj7 <- c(0, 4, 7, 11)
vl_generators(maj7)

Run the code above in your browser using DataLab