A Python library for composition in just intonation. David B. Doty’s definition:

Just Intonation is any system of tuning in which all of the intervals can be represented by whole-number frequency ratios, with a strongly implied preference for the simplest ratios compatible with a given musical purpose.

The library implements everything presented in Doty's primer, and makes it easy for computer-assisted composers to create scales at arbitrary prime limits or traverse lattices.

You'll find the library and links to the documentation on github .



jimm is a just-intonation MIDI Mapper. It maps incoming MIDI to just-intoned scales. It has a virtual MIDI port which you can connect to from either hardware or software. Its output is multi-channel, using one MIDI channel per active note up (it is 16 voice polyphonic) so you only need one MIDI track in your DAW. Each active note is sent to its own channel to keep the pitch-bend messages - used to tune the input - separate between active notes. It has a nice Qt GUI.

It doesn't follow the MPE standard. The MPE standard allows for single-channel polyphony, which would break jimm's tuning system.

You'll find it and its documentation on github .

Sine Plus Plus


A harmonic oscillator written in SuperCollider. It allows you to shape the amplitudes of your partials using a wide range of familiar functions (geometric decay, formant, cutoff, etc). It has a basic reverb built in and it speaks OSC. It also has a nice Qt GUI.

By default it will play 128 partials. It creates a wavetable once the amplitudes of the partials are set to minimize the CPU load.

You'll find it and its documentation on github .



A Teensy 3.6 USB Host implementation of the Novation Launchpad's MIDI interface.

The implementation is complete and bi-directional, allowing you to send MIDI from the Launchpad to your Teensy, and also to send MIDI from your Teensy to the Launchpad for all sorts of blinkenlights.

You can find this tiny module on github .