Metadata-Version: 2.4
Name: xenharmlib
Version: 0.3.0
Summary: A library for microtonal music theory
Project-URL: Documentation, https://xenharmlib.readthedocs.io/en/latest/
Project-URL: Homepage, https://gitlab.com/retooth/xenharmlib
Project-URL: Issues, https://gitlab.com/retooth/xenharmlib/-/issues
Author-email: Fabian Vallon <fabian.vallon@gmail.com>
License-File: LICENCE
Keywords: atonal theory,diatonic set theory,microtonal,microtonality,music,music theory,musicology,post-tonal theory,xenharmonics
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Artistic Software
Classifier: Topic :: Education
Classifier: Topic :: Multimedia :: Sound/Audio
Requires-Python: >=3.11.7
Requires-Dist: numpy<2,>=1.26.4
Requires-Dist: scipy<2,>=1.12.0
Requires-Dist: sounddevice<1,>=0.4.6
Requires-Dist: sympy==1.12
Description-Content-Type: text/markdown

# 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](https://xenharmlib.readthedocs.io/en/latest/)

## 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
