Skip to main content

set of tools to work with scales, modes, modulations, chord progressions, voice leading, rhythm and more

Project description

GitHub tag (latest by date)

musictool

set of tools to work with scales, modes, modulations, chord progressions, voice leading, rhythm and more

install

install from pypi

pip install musictool

or install the latest version from github

pip install git+https://github.com/tandav/musictool

development

pip install -e .[dev]

examples

>>> from musictool.scale import Scale
>>> from musictool.chord import Chord

>>> scale = Scale.from_name('C', 'major')

>>> scale.root
Note(name=C)

>>> scale.notes
frozenset({Note(name=C),
           Note(name=D),
           Note(name=E),
           Note(name=F),
           Note(name=G),
           Note(name=A),
           Note(name=B)})

>>> scale.bits
'101011010101'

>>> scale.intervals
frozenset({0, 2, 4, 5, 7, 9, 11})

>>> scale.triads
(CEG/C, DFA/D, EGB/E, FAC/F, GBD/G, ACE/A, BDF/B)

>>> chord = Chord.from_str('CEG/C')
>>> chord == scale.triads[0]
True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

musictool-1.7.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

musictool-1.7.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file musictool-1.7.0.tar.gz.

File metadata

  • Download URL: musictool-1.7.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for musictool-1.7.0.tar.gz
Algorithm Hash digest
SHA256 aa245bce847a28900db006fa821f8aa7b1156a9da69203d848749ac8a7aaa30f
MD5 cb9a1a0ece90ea4a4a9b74df5735d2e1
BLAKE2b-256 596d065b420180674c1604afde3240aeb45e328fdb6293d98ad245d3c046003e

See more details on using hashes here.

File details

Details for the file musictool-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: musictool-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for musictool-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27108b06c2a96cc91f5541388861c120572233da1c3dbb399156c5c0ce574ab8
MD5 23b34cf2b61854040402ce0dbf661d7c
BLAKE2b-256 e155c6368c8a8a8aece1b722183407b1f668e74e4a559e6260c6369471232dfa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page