Table of Contents

Class FunctionalProgressions

Namespace
Celeritas.Core
Assembly
Celeritas.dll

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

key KeySignature
type DiatonicChordType
minorDominant MinorDominantStyle

Returns

FunctionalChord[]

Exceptions

ArgumentOutOfRangeException

type is not a defined DiatonicChordType value.

ArgumentOutOfRangeException

minorDominant is 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

key KeySignature
targetDegree ScaleDegree
type DiatonicChordType

Returns

SecondaryDominant

Exceptions

ArgumentOutOfRangeException

targetDegree is not a defined ScaleDegree value.

ArgumentOutOfRangeException

type is 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

key KeySignature
type DiatonicChordType

Returns

SecondaryDominant[]

Exceptions

ArgumentOutOfRangeException

type is 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

key KeySignature
type DiatonicChordType
minorDominant MinorDominantStyle

Returns

FunctionalChord[]

Exceptions

ArgumentOutOfRangeException

type is not a defined DiatonicChordType value.

ArgumentOutOfRangeException

minorDominant is 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

key KeySignature
type DiatonicChordType
minorDominant MinorDominantStyle

Returns

FunctionalChord[]

Exceptions

ArgumentOutOfRangeException

type is not a defined DiatonicChordType value.

ArgumentOutOfRangeException

minorDominant is not a defined MinorDominantStyle value.

TwoFiveOne(KeySignature, DiatonicChordType, MinorDominantStyle)

public static FunctionalChord[] TwoFiveOne(KeySignature key, DiatonicChordType type = DiatonicChordType.Seventh, MinorDominantStyle minorDominant = MinorDominantStyle.Harmonic)

Parameters

key KeySignature
type DiatonicChordType
minorDominant MinorDominantStyle

Returns

FunctionalChord[]

Exceptions

ArgumentOutOfRangeException

type is not a defined DiatonicChordType value.

ArgumentOutOfRangeException

minorDominant is not a defined MinorDominantStyle value.