Class CircleOfFifths
Utilities for the circle of fifths/fourths.
Note: this is pitch-class based (12-TET). Enharmonic spellings are controlled
only by preferSharps (no E#/Cb style spellings).
public static class CircleOfFifths
- Inheritance
-
CircleOfFifths
- Inherited Members
Methods
MajorChordSymbols(PitchClass, bool, CircleDirection)
Major triad chord symbols (pitch-class root) along the circle. Example (start=C): C, G, D, A, ...
public static string[] MajorChordSymbols(PitchClass start, bool preferSharps = true, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClasspreferSharpsbooldirectionCircleDirection
Returns
- string[]
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
MajorKeys(PitchClass, CircleDirection)
public static KeySignature[] MajorKeys(PitchClass start, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClassdirectionCircleDirection
Returns
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
MajorWithRelativeMinors(PitchClass, bool, CircleDirection)
Returns pairs (Major, relative minor) along the major circle. Example: (C, Am), (G, Em), ...
public static (string Major, string RelativeMinor)[] MajorWithRelativeMinors(PitchClass start, bool preferSharps = true, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClasspreferSharpsbooldirectionCircleDirection
Returns
- (string Major, string RelativeMinor)[]
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
MinorChordSymbols(PitchClass, bool, CircleDirection)
Minor triad chord symbols (pitch-class root) along the circle. Example (start=A): Am, Em, Bm, F#m, ...
public static string[] MinorChordSymbols(PitchClass start, bool preferSharps = true, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClasspreferSharpsbooldirectionCircleDirection
Returns
- string[]
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
MinorKeys(PitchClass, CircleDirection)
public static KeySignature[] MinorKeys(PitchClass start, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClassdirectionCircleDirection
Returns
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
NextFifth(PitchClass)
Returns the pitch class a perfect fifth above pc.
public static PitchClass NextFifth(PitchClass pc)
Parameters
pcPitchClass
Returns
NextFourth(PitchClass)
Returns the pitch class a perfect fourth above pc.
public static PitchClass NextFourth(PitchClass pc)
Parameters
pcPitchClass
Returns
PitchClasses(PitchClass, CircleDirection)
Returns 12 pitch classes in circle-of-fifths order. Clockwise: C → G → D → ... CounterClockwise: C → F → Bb → ...
public static PitchClass[] PitchClasses(PitchClass start, CircleDirection direction = CircleDirection.Clockwise)
Parameters
startPitchClassdirectionCircleDirection
Returns
Exceptions
- ArgumentOutOfRangeException
directionis not a defined CircleDirection value.
PrevFifth(PitchClass)
Returns the pitch class a perfect fifth below pc.
public static PitchClass PrevFifth(PitchClass pc)
Parameters
pcPitchClass
Returns
PrevFourth(PitchClass)
Returns the pitch class a perfect fourth below pc.
public static PitchClass PrevFourth(PitchClass pc)
Parameters
pcPitchClass