mingus.core.scales

Module for dealing with scales.

The scales module allows you to create a plethora of scales. Here’s a little overview:

The diatonic scales
  • Diatonic(note, semitones)
Ancient scales
  • Ionian(note)
  • Dorian(note)
  • Phrygian(note)
  • Lydian(note)
  • Mixolydian(note)
  • Aeolian(note)
  • Locrian(note)
The major scales
  • Major(note)
  • HarmonicMajor(note)
The minor scales
  • NaturalMinor(note)
  • HarmonicMinor(note)
  • MelodicMinor(note)
  • Bachian(note)
  • MinorNeapolitan(note)
Other scales
  • Chromatic(note)
  • WholeTone(note)
  • Octatonic(note)
class mingus.core.scales.Aeolian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the aeolian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.Bachian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the Bachian (also known as “real melodic minor” and “jazz”) scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'minor'

class mingus.core.scales.Chromatic[source]
__eq__(self, other)
__init__(self, key, octaves=1)[source]

Create the chromatic scale in the chosen key.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)[source]
type

Attribute of type: str 'other'

class mingus.core.scales.Diatonic[source]
__eq__(self, other)
__init__(self, note, semitones, octaves=1)[source]

Create the diatonic scale starting on the chosen note.

The second parameter is a tuple representing the position of semitones.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'diatonic'

class mingus.core.scales.Dorian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the dorian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.HarmonicMajor[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the harmonic major scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'major'

class mingus.core.scales.HarmonicMinor[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the harmonic minor scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'minor'

class mingus.core.scales.Ionian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the ionian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.Locrian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the locrian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.Lydian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the lydian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.Major[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the major scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'major'

class mingus.core.scales.MelodicMinor[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the melodic minor scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)[source]
type

Attribute of type: str 'minor'

class mingus.core.scales.MinorNeapolitan[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the minor Neapolitan scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)[source]
type

Attribute of type: str 'minor'

class mingus.core.scales.Mixolydian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the mixolydian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.NaturalMinor[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Return the natural minor scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'minor'

class mingus.core.scales.Octatonic[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the octatonic (also known as “diminshed”) scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'other'

class mingus.core.scales.Phrygian[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the phrygian mode scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'ancient'

class mingus.core.scales.WholeTone[source]
__eq__(self, other)
__init__(self, note, octaves=1)[source]

Create the whole tone scale starting on the chosen note.

__len__(self)
__ne__(self, other)
__repr__(self)
__str__(self)
ascending(self)[source]
degree(self, degree_number, direction=a)

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)

Return the list of descending notes.

type

Attribute of type: str 'other'

class mingus.core.scales._Scale[source]
__eq__(self, other)[source]
__init__(self, note, octaves)[source]
__len__(self)[source]
__ne__(self, other)[source]
__repr__(self)[source]
__str__(self)[source]
ascending(self)[source]

Return the list of ascending notes.

degree(self, degree_number, direction=a)[source]

Return the asked scale degree.

The direction of the scale is ‘a’ for ascending (default) and ‘d’ for descending.

descending(self)[source]

Return the list of descending notes.


mingus.core.scales.keys

Attribute of type: list [('Cb', 'ab'), ('Gb', 'eb'), ('Db', 'bb'), ('Ab', 'f'), ('Eb', 'c'), ('Bb', 'g'), ('F', 'd'), ('C', 'a'), ('G', 'e'), ('D', 'b'), ('A', 'f#'), ('E', 'c#'), ('B', 'g#'), ('F#', 'd#'), ('C#', 'a#')]


mingus.core.scales.augment(note)[source]

Augment a given note.

Examples:

>>> augment('C')
'C#'
>>> augment('Cb')
'C'

mingus.core.scales.determine(notes)[source]

Determine the scales containing the notes.

All major and minor scales are recognized.

Example:

>>> determine(['A', 'Bb', 'E', 'F#', 'G'])
['G melodic minor', 'G Bachian', 'D harmonic major']

mingus.core.scales.diminish(note)[source]

Diminish a given note.

Examples:

>>> diminish('C')
'Cb'
>>> diminish('C#')
'C'

mingus.core.scales.get_notes(key=C)[source]

Return an ordered list of the notes in this natural key.

Examples:

>>> get_notes('F')
['F', 'G', 'A', 'Bb', 'C', 'D', 'E']
>>> get_notes('c')
['C', 'D', 'Eb', 'F', 'G', 'Ab', 'Bb']

mingus.core.scales.reduce_accidentals(note)[source]

Reduce any extra accidentals to proper notes.

Example:

>>> reduce_accidentals('C####')
'E'

Back to Index