Skip to main content

A library for microtonal music theory

Project description

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:

  • Equal division tunings (e.g. Western, Modern Arabic, Turkish Makam, Bohlen-Pierce, Wendy Carlos' Gamma Scale)
  • Western notation (including interval naming)
  • Up/Down notation (a superset of Western notation)
  • Analysis of intervals, scales, and their relations to one another
  • Group theoretical analysis (integer pitches, pitch classes, etc)
  • Interval sequence pattern matching
  • Modulation suggestions for arbitrary key changes
  • Basic posttonal analysis (normal & prime form calculations, inversion, etc)

Roadmap

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

  • Templates for Western music
  • Plugin interface for score rendering backends
  • Advanced posttonal analysis (interval vectors, z-Relations, Forte numbers)
  • Rothenberg propriety and interval matrices
  • MOS scale generation utilities
  • Just Intonation and prime limit tunings
  • Extended Helmholtz-Ellis JI Pitch Notation
  • Odd Limit Tunings
  • Arel-Ezgi-Uzdilek 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.3.0.tar.gz (84.7 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.3.0-py3-none-any.whl (114.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.3.0.tar.gz
Algorithm Hash digest
SHA256 77409b06004600c216707fc44a802950edf7010f49c16121032e8e14a51db7f8
MD5 ab65bb3e67c285f861a7d4d5a5d8b1ca
BLAKE2b-256 3fda43927ce6a06775d352f20062ff9fb1a95701edbb68c45d7089b67533177f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for xenharmlib-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 428d937167bd82ce091149d8015de6608a25f8ee60211e3bb48a81204b857756
MD5 6136d29e815732915a31b6220d0f3d4c
BLAKE2b-256 682b4e4980ce890240a80842744a5e514f50130782acf8c0d2ac4de0d6cf03c9

See more details on using hashes here.

Supported by

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