progressions
None
chords_from_progression
Returns a list of chords that match a progression in a key. Can be in
either the chords or parallel chords.
'error' string is used if a chord can't be found in the progression.
Diminished chords can be passed as '°' or 'dim' ('ii°' or 'viidim')
Note:
The shorthand 'vii' is accepted as a synonym for 'vii°' or 'viidim' to
improve usability and reflect common practice in major keys.
'ii' without a diminished marker is NOT accepted as shorthand for
'iidim' because the diatonic ii chord is typically minor in major keys,
while 'iidim' only appears in parallel keys and is less commonly written
without explicit notation.
e.g. key=C Major, progression=['I', 'i', 'IV', 'V']
-> [Chord(C, Major), Chord(C, Minor), Chord(F, Major), Chord(G, Major)]
Args:
key:
The key the chords are from.
progression:
A list of roman numerals notating the chords.
error:
A placeholder for missing or invalid chords in the key.
Returns:
list[Chord|str]: A List of Chord objects or a string containing the 'error'
parameter.
NumeralCadences
Represents common musical cadences.
A cadence is a chord progression of at least two chords that concludes a musical phrase or section.
Notes:
- The Major/Minor Plagal Cadences differ from a standard Plagal Cadence in their respective keys.
Attributes:
plagal (list of str): Also known as the Amen Cadence.
minor_plagal (list of str): A variation of the Plagal Cadence in a minor key.
authentic (list of str): Also called a Perfect Cadence.
deceptive (list of str): Also known as interupted. It decieves or interupts the resolution.
imperfect (list of str): Also called half-cadance. Doesn't resolve and hangs. Used mainly at the end of songs.
super_mario (list of str): The end of level fanfare.
NumeralProgressions
Represents common musical chord progressions using Roman numerals.
Each progression is stored as a list of strings, where each string
represents a chord in the progression (e.g., ["I", "V", "vi", "IV"]).
Attributes:
axis:
A very common progression in Western pop music, popularized by the
'Axis of Awesome - 4 Chord Song'.
axis_alt:
A minor-key variant of the Axis progression.
royal_road:
Frequently used in Japanese music.
twelve_bar_blues:
A very common blues progression.
andalusian_cadence:
Often called a cadence, though technically a progression. Common in
flamenco and classical music.
andalusian_alt:
A variant of the Andalusian cadence that ends on the VII chord
instead of V.
doo_wop:
Also known as the '50s progression', characteristic of many doo-wop
and early rock 'n' roll songs.
doo_wop_alt:
A jazzier or more modern variation, sometimes called a circle
progression or ii-V turnaround.
Progression
Represents a chord progression.
Progression.__init__
Initialize self. See help(type(self)) for accurate signature.
Progression.pretty_print
None
Progression.__str__
Return str(self).
Progression.__repr__
Return repr(self).
SongProgressions
Represents famous songs and their chord progressions using Roman numerals.
Attributes:
seal_kiss_from_a_rose
beatles_hey_jude
Each progression is stored as a list of strings, where each string
represents a chord in the progression (e.g., ["I", "V", "vi", "IV"]).