| normal_form | R Documentation |
Following Hook (2023, 416-18, ISBN: 9780190246013), calculates a normal
form for the input set using any combination of OPTIC symmetries.
normal_form(set, optic = "opc", edo = 12, rounder = 10)
set |
Numeric vector of pitch-classes in the set |
optic |
String: the OPTIC symmetries to apply. Defaults to "opc". |
edo |
Number of unit steps in an octave. Defaults to |
rounder |
Numeric (expected integer), defaults to |
This function is designed for flexibility in the optic parameter, not speed.
In situations where you need to calculate a large number of OPTIC- or OPTC-normal
forms, you should use primeform() or tnprime() respectively, which are considerably
faster.
Numeric vector with the desired normal form of set
primeform(), tnprime(), and startzero() for faster functions
dedicated to specific symmetry combinations
# See Exercise 10.4.8 in Hook (2023, 420):
eroica <- c(-25, -13, -6, -3, 0, 3)
normal_form(eroica, optic="pti")
normal_form(eroica, optic="op")
# See Table 10.4.1 in Hook (2023, 417):
alpha <- c(-5, -11, 14, 9, 14, 14, 2)
num_symmetries <- sample(0:5, 1)
random_symmetries <- sample(c("o", "p", "t", "i", "c"), num_symmetries)
random_symmetries <- paste(random_symmetries, collapse="")
print(random_symmetries)
normal_form(alpha, optic=random_symmetries)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.