Struct ModalProgression
A named modal progression with scale degrees.
public readonly record struct ModalProgression : IEquatable<ModalProgression>
- Implements
- Inherited Members
Remarks
Name writes each chord with the quality its degree has in the mode — upper case for major, lower for minor, ° for diminished, + for augmented, an accidental where the degree differs from the major scale's — so a reader can check the label against the scale. A few named progressions borrow a chord from a neighbouring mode and are named for it: the Aeolian "Andalusian cadence" ends on the harmonic-minor V, the harmonic-minor "Harmonic descent" passes through the natural-minor bVII, the Phrygian dominant "Spanish vamp" and "Phrygian descent over a major tonic" take their bIII, bVI and bVII from Phrygian, and the Lydian dominant "Fusion vamp" its bVII7 from Mixolydian. The tables used to write "vii°" for the minor seventh-degree triad of Lydian and describe the Dorian ii as major.
Constructors
ModalProgression(string, string, IReadOnlyList<int>)
A named modal progression with scale degrees.
public ModalProgression(string Name, string Description, IReadOnlyList<int> Degrees)
Parameters
NamestringDescriptionstringDegreesIReadOnlyList<int>
Remarks
Name writes each chord with the quality its degree has in the mode — upper case for major, lower for minor, ° for diminished, + for augmented, an accidental where the degree differs from the major scale's — so a reader can check the label against the scale. A few named progressions borrow a chord from a neighbouring mode and are named for it: the Aeolian "Andalusian cadence" ends on the harmonic-minor V, the harmonic-minor "Harmonic descent" passes through the natural-minor bVII, the Phrygian dominant "Spanish vamp" and "Phrygian descent over a major tonic" take their bIII, bVI and bVII from Phrygian, and the Lydian dominant "Fusion vamp" its bVII7 from Mixolydian. The tables used to write "vii°" for the minor seventh-degree triad of Lydian and describe the Dorian ii as major.
Properties
Degrees
public IReadOnlyList<int> Degrees { get; init; }
Property Value
Description
public string Description { get; init; }
Property Value
Name
public string Name { get; init; }