Skip to main content

Xenharmlib

Xenharmlib is a generalized music theory library that supports traditional Western and non-western harmonic systems, unconventional microtonal and macrotonal tunings, diatonic and posttonal set theory and non-standard notations.

Click here for the official documentation

Features

A selection of things supported by xenharmlib:

  • Scale, interval, sequence and abstract scale calculation in any regular temperament (including, but not limited to: Western, Turkish Makam, Slendro, Just Intonation / Prime Limit Tunings, Quarter-Comma Meantone, Bohlen-Pierce, Wendy Carlos' Gamma Tuning)
  • Western notation (including interval naming)
  • Up/Down notation (a superset of Western notation)
  • Complete interval arithmetic with awareness of harmonic function
  • Posttonal analysis: Normal form & prime form calculation, pitch class set arithmetic, interval vector calculation, etc
  • Extraction of playable chords from any scale
  • Structure discovery / Pattern matching in scales
  • Modulation suggestions for arbitrary key changes
  • Approximation of arbitrary frequencies to pitches and notes for spectralist compositions, including error calculation

Roadmap

A list of planned features (not necessarily in chronological order):

  • Extended Helmholtz-Ellis JI Pitch Notation
  • Arel-Ezgi-Uzdilek notation
  • Rothenberg propriety and interval matrices
  • Scale generation tools (Euler-Fokker genus, combination product set, Moment-of-Symmetry scales, odd limit scales)
  • Templates for traditional music (Western Scales, Makam tetrachords, etc)
  • Plugin interface for score rendering backends
  • Advanced posttonal analysis
  • Utilities for transformation theory

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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xenharmlib-0.4.0-py3-none-any.whl (155.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1d1a7f9af34d3d7b9392e024d5dcc9e2fd92a67f807d31e644704cd2e6f188fc
MD5 40fe2869344e9e58ebc45987f1212822
BLAKE2b-256 6a388f02df5b64cde2c6990b90ef22cb2921b06ffde390953703c8cc02af5dd2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aec390a7a32a1de35943f2289edc3a29d696efa4d9548d0bc8f07dbeed55abd6
MD5 afea5d72dd9f16c5752349e41addb372
BLAKE2b-256 238313c7edd320eb40e04e58584ac7640fb008d68806b3fa5cdd69e60c21d9e4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page