Skip to content

Xenharmlib is a music theory library for the exploration and research of microtonality, diatonic set theory, non-standard notations, and many more. The library implements a superset of Western classical music theory, so you can also use it to compose and analyze music in the boundaries of the common practice period or 20th century Western music.

License

Notifications You must be signed in to change notification settings

retooth2/xenharmlib

Repository files navigation

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

About

Xenharmlib is a music theory library for the exploration and research of microtonality, diatonic set theory, non-standard notations, and many more. The library implements a superset of Western classical music theory, so you can also use it to compose and analyze music in the boundaries of the common practice period or 20th century Western music.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages