Skip to main content

A library for microtonal music theory

Project description

Xenharmlib

Xenharmlib is a music theory library for the exploration and research of microtonality, diatonic set theory, non-standard notations, and many more. The library implements a superset of Western classical music theory, so you can also use it to compose and analyze music in the boundaries of the common practice period or 20th century Western music.

Click here for the official documentation

So far it supports the following:

  • Equal division tunings (e.g. Western, Modern Arabic, Bohlen-Pierce)
  • Analysis of intervals, scales, and their relations to one another
  • Group theoretical analysis (integer pitches, pitch classes, etc)
  • Up/Down Notation (a superset of Western accidental notation)
  • Building blocks for custom notations

Coming soon:

  • Maximally even sets
  • Interval vectors and related properties
  • Key signature support for Up/Down Notation scales
  • Scale and triad generators
  • Just Intonation and Prime Limit Tunings
  • Odd Limit Tunings
  • Extended Helmholtz-Ellis JI Pitch Notation

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

xenharmlib-0.1.1.tar.gz (62.5 kB view details)

Uploaded Source

Built Distribution

xenharmlib-0.1.1-py3-none-any.whl (76.6 kB view details)

Uploaded Python 3

File details

Details for the file xenharmlib-0.1.1.tar.gz.

File metadata

  • Download URL: xenharmlib-0.1.1.tar.gz
  • Upload date:
  • Size: 62.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for xenharmlib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ecb7b4d53cfc560624daa7eff4fda3b67c9a97c3b54c3a9fca6ea2ca2860726e
MD5 ead052696596395330762ad67d1a76d9
BLAKE2b-256 1d500df934ed98f2c64a6e5c25065fdf1f026e7cfaf20a8c5fa0475c0b9ec5df

See more details on using hashes here.

File details

Details for the file xenharmlib-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: xenharmlib-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 76.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for xenharmlib-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9667cd40387818b32962f13614706add9986038879e1fe5cc8f9fcc53c22d14
MD5 4671d257baf379dafe15903f3eaa5604
BLAKE2b-256 02e6cc5591c847925ff202b3e6e23868de807b06fcc6f3d626cefa023db52d44

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