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