Class FunctionalProgressions
Functional-harmony progressions (diatonic by default). Includes circle-of-fifths (descending fifths) chains and common cadential patterns.
public static class FunctionalProgressions
- Inheritance
-
FunctionalProgressions
- Inherited Members
Methods
Circle(KeySignature, DiatonicChordType, MinorDominantStyle)
public static FunctionalChord[] Circle(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh, MinorDominantStyle minorDominant = MinorDominantStyle.Harmonic)
Parameters
keyKeySignaturetypeDiatonicChordTypeminorDominantMinorDominantStyle
Returns
Exceptions
- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.- ArgumentOutOfRangeException
minorDominantis not a defined MinorDominantStyle value.
SecondaryDominantTo(KeySignature, ScaleDegree, DiatonicChordType)
Secondary dominant leading to a diatonic scale degree. Example in C major: SecondaryDominantTo(ii) => A7 (V7/ii)
public static SecondaryDominant SecondaryDominantTo(KeySignature key, ScaleDegree targetDegree, DiatonicChordType type = DiatonicChordType.Seventh)
Parameters
keyKeySignaturetargetDegreeScaleDegreetypeDiatonicChordType
Returns
Exceptions
- ArgumentOutOfRangeException
targetDegreeis not a defined ScaleDegree value.- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.
SecondaryDominants(KeySignature, DiatonicChordType)
Common set of secondary dominants: V/(ii, iii, IV, V, vi).
public static SecondaryDominant[] SecondaryDominants(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh)
Parameters
keyKeySignaturetypeDiatonicChordType
Returns
Exceptions
- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.
ThreeSixTwoFiveOne(KeySignature, DiatonicChordType, MinorDominantStyle)
Common extended cadence: iii → vi → ii → V → I.
In minor: III → VI → ii°/iiø → V → i (depending on minorDominant).
public static FunctionalChord[] ThreeSixTwoFiveOne(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh, MinorDominantStyle minorDominant = MinorDominantStyle.Harmonic)
Parameters
keyKeySignaturetypeDiatonicChordTypeminorDominantMinorDominantStyle
Returns
Exceptions
- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.- ArgumentOutOfRangeException
minorDominantis not a defined MinorDominantStyle value.
Turnaround(KeySignature, DiatonicChordType, MinorDominantStyle)
Common turnaround: I → vi → ii → V → I. In minor: i → VI → ii° → V → i.
public static FunctionalChord[] Turnaround(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh, MinorDominantStyle minorDominant = MinorDominantStyle.Harmonic)
Parameters
keyKeySignaturetypeDiatonicChordTypeminorDominantMinorDominantStyle
Returns
Exceptions
- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.- ArgumentOutOfRangeException
minorDominantis not a defined MinorDominantStyle value.
TwoFiveOne(KeySignature, DiatonicChordType, MinorDominantStyle)
public static FunctionalChord[] TwoFiveOne(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh, MinorDominantStyle minorDominant = MinorDominantStyle.Harmonic)
Parameters
keyKeySignaturetypeDiatonicChordTypeminorDominantMinorDominantStyle
Returns
Exceptions
- ArgumentOutOfRangeException
typeis not a defined DiatonicChordType value.- ArgumentOutOfRangeException
minorDominantis not a defined MinorDominantStyle value.