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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d1a7f9af34d3d7b9392e024d5dcc9e2fd92a67f807d31e644704cd2e6f188fc
|
|
| MD5 |
40fe2869344e9e58ebc45987f1212822
|
|
| BLAKE2b-256 |
6a388f02df5b64cde2c6990b90ef22cb2921b06ffde390953703c8cc02af5dd2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aec390a7a32a1de35943f2289edc3a29d696efa4d9548d0bc8f07dbeed55abd6
|
|
| MD5 |
afea5d72dd9f16c5752349e41addb372
|
|
| BLAKE2b-256 |
238313c7edd320eb40e04e58584ac7640fb008d68806b3fa5cdd69e60c21d9e4
|