solfege

Library to provide tooling around scales and their solfège.

Submodules

Classes

Note

Represent a note on a scale.

Scale

A representation of a musical scale.

ScaleType

Supported scale types.

Package Contents

class solfege.Note(name, octave=None)[source]

Represent a note on a scale.

Parameters:
  • name (str)

  • octave (Optional[int])


property solfege.letter
The letter part of the note name.

property solfege.accidental: str | None

If # or b or None if no accidental on this note.


property solfege.name
The short name of the note.

e.g. C or A# or Bb


property solfege.octave
The octave this note is in.
class solfege.Scale(starting_note, type=ScaleType.MAJOR)[source]

A representation of a musical scale.

Parameters:

solfege.solfege(note_)

Get the movable-do solfege name for a note in this scale.

For minor keys, moving-do la-based minor is used.

Parameters:

note (note.Note) – The note in question.

Returns:

The solfege name for that note.

Return type:

str

class solfege.ScaleType(*args, **kwds)[source]

Bases: enum.Enum

Supported scale types.


solfege.MAJOR = 0

Enum for selecting a Major scale.


solfege.MINOR

Enum for selecting a Natural Minor scale.