set of tools to work with scales, modes, modulations, chord progressions, voice leading, rhythm and more
install from pypi
pip install musiclib
pip install git+https://github.com/tandav/musiclib
pip install -e .[dev]
>>> from musiclib.scale import Scale
>>> from musiclib.noteset import SpecificNoteSet
>>> from musiclib.noterange import NoteRange
>>> scale = Scale.from_name('C', 'major')
>>> scale.root
Note('C')
>>> scale.notes
frozenset({Note('C'),
Note('D'),
Note('E'),
Note('F'),
Note('G'),
Note('A'),
Note('B')})
>>> scale.bits
'101011010101'
>>> scale.intervals
frozenset({0, 2, 4, 5, 7, 9, 11})
Scale.from_name('C', 'phrygian')
SpecificNoteSet.from_str('C1_e1_G1_C2_b2_E3')
NoteRange(SpecificNote('C', 1), SpecificNote('B', 3))