Expand description
Rank-2 regular temperaments, a period and a generator over a mapping. Regular temperaments — a period, some generators, and what they mean.
A regular temperament is a decision to stop telling two intervals apart. Meantone decides that four fifths and a major third are the same note, which is to say it tempers out the syntonic comma, and everything else about meantone follows: the fifth has to shrink to about 697 cents, every 5-limit interval is then some number of those fifths and octaves, and the scales that come out are the pentatonic, the diatonic and the chromatic.
What a temperament is, concretely, is a mapping: how many periods and how
many of each generator every prime is worth. The wiki writes meantone’s as
1; 1 4 10 — one period to the octave, and the fifth reached in one
generator, the third in four, the harmonic seventh in ten.
Temperament::from_mapping takes exactly that, and works the period row
out for itself.
Two things here are more general than the usual account, because the data
is. A temperament need not have one generator: marvel has two, so its
mapping is two rows and Temperament::from_mapping_rows takes them.
And a temperament need not repeat at the octave: a subgroup written
3.5.7 has no 2 in it at all, and its period divides a tritave instead.
The interval a temperament repeats at is its equave, and the octave is
only the usual one.
use music21_rs::tuningsystem::{Monzo, Temperament};
// Meantone: one period to the octave, generator a fifth of 696.7 cents.
let meantone = Temperament::from_mapping(1, &[1, 4, 10], 696.7, &[2, 3, 5, 7])?;
assert!(meantone.tempers_out(&Monzo::from_ratio(81, 80)?));
assert_eq!(meantone.pattern(7)?.to_string(), "5L 2s");Structs§
- Temperament
- A regular temperament: a period, some generators, and a mapping onto primes.