Enum tune::layout::PrototypeTemperament
source · pub enum PrototypeTemperament {
Meantone7,
Mavila9,
Porcupine7,
Porcupine8,
}
Expand description
The temperament providing the generation schema and layout rules for a given scale as a prototype.
Variants§
Meantone7
Octave-reduced temperament treating 4 fifths to be equal to one major third.
The major third can be divided into two equal parts which form the primary steps of the scale.
The note names are derived from the genchain of fifths (3/2) [ … Bb F C G D A E B F# … ]. This results in standard music notation with G at one fifth above C and D at two fifths == 1/2 major third == 1 primary step above C.
This prototype template also applies to other chain-of-fifth-based temperaments like Mavila and Superpyth.
Mavila9
Similar to PrototypeTemperament::Meantone7
but with 9 natural notes instead of 7.
Due to the added notes, the usual relationships between interval names and just ratios no longer apply. For instance, a Mavila[9] major third will sound similar to a Meantone[7] minor third and a Mavila[9] minor fourth will sound similar to a Meantone[7] major third.
The generator (perfect sixth) needs to be a rather flat version of 3/2 in order to make this prototype work. The genchain order is [ … Fb, B, G, C, H, D, J, E, A, F, B# ].
Porcupine7
Octave-reduced temperament treating 3 “major” thirds to be equal to two major fourths.
This temperament is best described in terms of primary steps, three of which form a major fourth. A primary step, usually being smaller than a secondary step, can be formally considered a minor second but in terms of just ratios may be closer to a major second.
The note names are derived from the genchain of primary steps [ … Gb A B C D E F G A# … ]. In contrast to meantone, the intervals E-F and F-G have the same size of one primary step while G-A is different, usually larger.
Porcupine8
Similar to PrototypeTemperament::Porcupine7
but with 8 natural notes instead of 7.
Adding an additional note makes the primary step larger than the secondary step, resolving the issue of major intervals being smaller than minor intervals.
The genchain order is [ … Hb A B C D E F G H A# … ].
Trait Implementations§
source§impl Clone for PrototypeTemperament
impl Clone for PrototypeTemperament
source§fn clone(&self) -> PrototypeTemperament
fn clone(&self) -> PrototypeTemperament
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PrototypeTemperament
impl Debug for PrototypeTemperament
source§impl Display for PrototypeTemperament
impl Display for PrototypeTemperament
source§impl Hash for PrototypeTemperament
impl Hash for PrototypeTemperament
source§impl PartialEq for PrototypeTemperament
impl PartialEq for PrototypeTemperament
source§fn eq(&self, other: &PrototypeTemperament) -> bool
fn eq(&self, other: &PrototypeTemperament) -> bool
self
and other
values to be equal, and is used
by ==
.