musicMCT 0.2.0
CRAN release: 2025-07-21
New ineqmat features
- New
make_black_ineqmat()
andmake_gray_ineqmat()
allow new transposition-sensitive hyperplane arrangements to be studied; ineqmat parameter for other functions (e.g.signvector()
now accepts “black” and “gray” as options. - New
make_offset_ineqmat()
creates version of standard ineqmats (MCT, white, black, etc.) which have been translated to be centered on an arbitrary set. - Creation functions for ineqmats (
makeineqmat()
,make_black_ineqmat()
,make_white_ineqmat()
,make_roth_ineqmat()
) now return a consistent value (integer(0)
) rather than various errors whencard
is small. - New data set
roth_ineqmats.rda
with precomputed results frommake_roth_ineqmat()
; accessed with newget_roth_ineqmat()
. - New data sets for pastel and white arrangements (for cardinalities <= 6) uploaded to modalcolortheory repository and linked in the documentation for
make_white_ineqmat()
.
New behaviors for quantization functions
- Affected functions are
quantize_color()
,quantize_hue()
, andset_from_signvector()
. - Upon failure, quantization functions now return a result whose format matches expected success format depending on value of
reconvert
parameter. That is, ifreconvert=TRUE
, failure to quantize results in aNA
vector (as before), but ifreconvert=FALSE
, failure to quantize results in a list with entriesset
andedo
, both of which areNA
. - Quantization functions gain a
target_edo
parameter, which allows user to search for desired scales in a specific edo rather than all possible edos.
New Functions
- New
clockface()
offers a simple plotting mechanism to visualize sets on a pitch-class clockface (with numbers corresponding to any equal temperament). - New
ianring()
creates a convenient way to open a browser window to information about the input set on Ian Ring’s website The Exciting Universe of Music Theory. - New functions for basic applications of the DFT to set theory are added. These include
set_to_distribution()
,distribution_to_set()
, anddft()
.
Updates to Existing Functions
-
brightnessgraph()
now returns an invisible copy of the igraph graph object underlying the plotted brightness graph, instead of an invisibleNULL
. -
sim()
gains agoal
parameter, which allows it to calculate the interscalar interval matrix for two sets. -
vl_generators()
now throws a warning instead of an error whenset
is perfectly even, returning a 2-by-0 matrix.