[−][src]Struct musictheory::types::Matrix
The Pitch Matrix is a set of static Reference Tables containing Ordered Note Accidentals, Interval, and Degree based on PitchClass and PitchGroup.
Pitch Matrix
- X - PitchClass
- Y - PitchGroup
- Cell - Result
Cn | Cs | Dn | Ds | En | Fn | Fs | Gn | Gs | An | As | Bn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cn | Cn | Dn | En | Fn | Gn | An | Bn | |||||
Gn | Cn | Dn | En | Fs | Gn | An | Bn | |||||
Dn | Cs | Dn | En | Fs | Gn | An | Bn | |||||
An | Cs | Dn | En | Fs | Gs | An | Bn | |||||
En | Cs | Ds | En | Fs | Gs | An | Bn | |||||
Bn | Cs | Ds | En | Fs | Gs | As | Bn | |||||
Fs | Cs | Ds | Fn | Fs | Gs | As | Bn | |||||
Cs | Cn | Cs | Ds | Fn | Fs | Gs | As | |||||
Gs | Cn | Cs | Ds | Fn | Gn | Gs | As | |||||
Ds | Cn | Dn | Ds | Fn | Gn | Gs | As | |||||
As | Cn | Dn | Ds | Fn | Gn | An | As | |||||
Fn | Cn | Dn | En | Fn | Gn | An | As |
Methods
impl Matrix
[src]
pub fn interval(pc: &PitchClass, pg: &PitchGroup) -> Option<Interval>
[src]
Get the Interval from Key Root for the provided position in the Interval table.
Interval Key Matrix
Cn | Cs | Dn | Ds | En | Fn | Fs | Gn | Gs | An | As | Bn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cn | P1 | M2 | M3 | P4 | P5 | M6 | M7 | |||||
Gn | P4 | P5 | M6 | M7 | P1 | M2 | M3 | |||||
Dn | M7 | P1 | M2 | M3 | P4 | P5 | M6 | |||||
An | M3 | P4 | P5 | M6 | M7 | P1 | M2 | |||||
En | M6 | M7 | P1 | M2 | M3 | P4 | P5 | |||||
Bn | M2 | M3 | P4 | P5 | M6 | M7 | P1 | |||||
Fs | P5 | M6 | M7 | P1 | M2 | M3 | P4 | |||||
Cs | M7 | P1 | M2 | M3 | P4 | P5 | M6 | |||||
Gs | M3 | P4 | P5 | M6 | M7 | P1 | M2 | |||||
Ds | M6 | M7 | P1 | M2 | M3 | P4 | P5 | |||||
As | M2 | M3 | P4 | P5 | M6 | M7 | P1 | |||||
Fn | P5 | M6 | M7 | P1 | M2 | M3 | P4 |
pub fn degree(pc: &PitchClass, pg: &PitchGroup) -> Option<Degree>
[src]
Get the Degree from Key Root for the provided position in the Degree table.
pub fn natural(pc: &PitchClass, pg: &PitchGroup) -> Option<Note>
[src]
Get Note for the provided position in the Natural Key table.
Natural Key Matrix
Cn | Cs | Dn | Ds | En | Fn | Fs | Gn | Gs | An | As | Bn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cn | C | D | E | F | G | A | B | |||||
Gn | C | D | E | F# | G | A | B | |||||
Dn | C# | D | E | F# | G | A | B | |||||
An | C# | D | E | F# | G# | A | B | |||||
En | C# | D# | E | F# | G# | A | B | |||||
Bn | C# | D# | E | F# | G# | A# | B | |||||
Fs | C# | D# | E# | F# | G# | A# | B | |||||
Cs | C | Db | Eb | F | Gb | Ab | Bb | |||||
Gs | C | Db | Eb | F | G | Ab | Bb | |||||
Ds | C | D | Eb | F | G | Ab | Bb | |||||
As | C | D | Eb | F | G | A | Bb | |||||
Fn | C | D | E | F | G | A | Bb |
pub fn sharp(pc: &PitchClass, pg: &PitchGroup) -> Option<Note>
[src]
Get Note for the provided position in the Sharp Key table.
Sharp Key Matrix
Cn | Cs | Dn | Ds | En | Fn | Fs | Gn | Gs | An | As | Bn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cn | C | D | E | F | G | A | B | |||||
Gn | C | D | E | F# | G | A | B | |||||
Dn | C# | D | E | F# | G | A | B | |||||
An | C# | D | E | F# | G# | A | B | |||||
En | C# | D# | E | F# | G# | A | B | |||||
Bn | C# | D# | E | F# | G# | A# | B | |||||
Fs | C# | D# | E# | F# | G# | A# | B | |||||
Cs | B# | C# | D# | E# | F# | G# | A# | |||||
Gs | B# | C# | D# | E# | F## | G# | A# | |||||
Ds | B# | C## | D# | E# | F## | G# | A# | |||||
As | B# | C## | D# | E# | F## | G## | A# | |||||
Fn | B# | C## | D## | E# | F## | G## | A# |
pub fn flat(pc: &PitchClass, pg: &PitchGroup) -> Option<Note>
[src]
Get Note for the provided position in the Flat Key table.
Flat Key Matrix
Cn | Cs | Dn | Ds | En | Fn | Fs | Gn | Gs | An | As | Bn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cn | C | D | E | F | G | A | B | |||||
Gn | Dbb | Ebb | Fb | Gb | Abb | Bbb | Cb | |||||
Dn | Db | Ebb | Fb | Gb | Abb | Bbb | Cb | |||||
An | Db | Ebb | Fb | Gb | Ab | Bbb | Cb | |||||
En | Db | Eb | Fb | Gb | Ab | Bbb | Cb | |||||
Bn | Db | Eb | Fb | Gb | Ab | Bb | Cb | |||||
Fs | Db | Eb | F | Gb | Ab | Bb | Cb | |||||
Cs | C | Db | Eb | F | Gb | Ab | Bb | |||||
Gs | C | Db | Eb | F | G | Ab | Bb | |||||
Ds | C | D | Eb | F | G | Ab | Bb | |||||
As | C | D | Eb | F | G | A | Bb | |||||
Fn | C | D | E | F | G | A | Bb |
Auto Trait Implementations
impl RefUnwindSafe for Matrix
impl Send for Matrix
impl Sync for Matrix
impl Unpin for Matrix
impl UnwindSafe for Matrix
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,