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.

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.0.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

xenharmlib-0.1.0-py3-none-any.whl (72.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8dc0f8474e4977ffa1e63c46311af30b8a6b92372786bd8d5776c818feff9bf4
MD5 a1def3424db8a954dbf0e96c80176395
BLAKE2b-256 cdf6aa668eec43ee9cbed92ae842b0907cd6e8f383b94a352d56c5375893d32d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6a69980a36d018df2fbee3d06aaa098a78729dde0f3a2f774fc98ce62955d34
MD5 2bb4c017feaacdeac4134a1cb5d137f3
BLAKE2b-256 5874a400faff21cda9e5139fe92a62ff56d6a03d918a30c424f006c80a172ae0

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