musiclib
set of tools to work with scales, modes, modulations, chord progressions, voice leading, rhythm and more
install
pypi
install frompip install musiclib
or install the latest version from github
pip install git+https://github.com/tandav/musiclib
development
pip install -e .[dev]
examples
>>> 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))