Table of Contents

Class CircleOfFifths

Namespace
Celeritas.Core
Assembly
Celeritas.dll

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

start PitchClass
preferSharps bool
direction CircleDirection

Returns

string[]

Exceptions

ArgumentOutOfRangeException

direction is not a defined CircleDirection value.

MajorKeys(PitchClass, CircleDirection)

public static KeySignature[] MajorKeys(PitchClass start, CircleDirection direction = CircleDirection.Clockwise)

Parameters

start PitchClass
direction CircleDirection

Returns

KeySignature[]

Exceptions

ArgumentOutOfRangeException

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

start PitchClass
preferSharps bool
direction CircleDirection

Returns

(string Major, string RelativeMinor)[]

Exceptions

ArgumentOutOfRangeException

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

start PitchClass
preferSharps bool
direction CircleDirection

Returns

string[]

Exceptions

ArgumentOutOfRangeException

direction is not a defined CircleDirection value.

MinorKeys(PitchClass, CircleDirection)

public static KeySignature[] MinorKeys(PitchClass start, CircleDirection direction = CircleDirection.Clockwise)

Parameters

start PitchClass
direction CircleDirection

Returns

KeySignature[]

Exceptions

ArgumentOutOfRangeException

direction is not a defined CircleDirection value.

NextFifth(PitchClass)

Returns the pitch class a perfect fifth above pc.

public static PitchClass NextFifth(PitchClass pc)

Parameters

pc PitchClass

Returns

PitchClass

NextFourth(PitchClass)

Returns the pitch class a perfect fourth above pc.

public static PitchClass NextFourth(PitchClass pc)

Parameters

pc PitchClass

Returns

PitchClass

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

start PitchClass
direction CircleDirection

Returns

PitchClass[]

Exceptions

ArgumentOutOfRangeException

direction is not a defined CircleDirection value.

PrevFifth(PitchClass)

Returns the pitch class a perfect fifth below pc.

public static PitchClass PrevFifth(PitchClass pc)

Parameters

pc PitchClass

Returns

PitchClass

PrevFourth(PitchClass)

Returns the pitch class a perfect fourth below pc.

public static PitchClass PrevFourth(PitchClass pc)

Parameters

pc PitchClass

Returns

PitchClass