solfege
=======
.. py:module:: solfege
.. autoapi-nested-parse::
Library to provide tooling around scales and their solfège.
Submodules
----------
.. toctree::
:maxdepth: 1
/autoapi/solfege/note/index
/autoapi/solfege/scale/index
Classes
-------
.. autoapisummary::
solfege.Note
solfege.Scale
solfege.ScaleType
Package Contents
----------------
.. role:: raw-html(raw)
:format: html
.. py:class:: Note(name, octave = None)
Represent a note on a scale.
:raw-html:`
`
.. py:property:: letter
The letter part of the note name.
:raw-html:`
`
.. py:property:: accidental
:type: Optional[str]
If # or b or None if no accidental on this note.
:raw-html:`
`
.. py:property:: name
The short name of the note.
e.g. C or A# or Bb
:raw-html:`
`
.. py:property:: octave
The octave this note is in.
.. role:: raw-html(raw)
:format: html
.. py:class:: Scale(starting_note, type = ScaleType.MAJOR)
A representation of a musical scale.
:raw-html:`
`
.. py:method:: solfege(note_)
Get the movable-do solfege name for a note in this scale.
For minor keys, moving-do la-based minor is used.
:param note_: The note in question.
:type note_: note.Note
:returns: The solfege name for that note.
:rtype: str
.. role:: raw-html(raw)
:format: html
.. py:class:: ScaleType(*args, **kwds)
Bases: :py:obj:`enum.Enum`
Supported scale types.
:raw-html:`
`
.. py:attribute:: MAJOR
:value: 0
Enum for selecting a Major scale.
:raw-html:`
`
.. py:attribute:: MINOR
Enum for selecting a Natural Minor scale.