Recently I have been exploring novel musical scales and tunings (I discuss one such scale on my personal website). As part of this work, I am releasing PyTuning, a Python-based framework for exploring tunings, scales, and microtonalities, as an open-source project.

Features

Some of the package's features include:

  • Creation of scales in a variety of ways (EDO, Euler-Fokker, Diatonic, Harmonic, from generator intervals, etc.).

  • Ability to represent created scales in ways that are understood by external software (Scala, Timidity, Fluidsynth, Yoshimi, Zynaddsubfx).

  • Some analysis functions (for example, PyTuning provides a framework for searching for scale modes based upon defined metric functions and combinatorial analysis). Also included are some number-theoretic functions, such as prime limits and odd limits.

  • Some scale visualizations.

  • Interactive use.

The package may either be used as a development library or as a console-based application (but this requires some familiarity with Python).

Installation

The package is registered at the Python Package Index, and can be installed via the normal channels:

pip install pytuning


However, some care must be taken in choosing the dependencies to install, so I'd suggest that you take a look at the project's documentation
before installing.

Documentation

Documentation for the project can be found at pytuning.readthedocs.io. The documentation is relatively complete, but as the software has just been released, it's probably somewhat riddled with typos.

Source Code

The source code is available via an MIT-style open-source license, and can be accessed at GitHub.