Rationale: A Just Intonation Sequencer



Rationale on Sourceforge



Rationale is a free, open-source music sequencing program designed to write music in the extended just intonation tuning system.

There are a few aspects of Rationale that are pretty unusual, in order to relate these esoteric intervals to something concrete without too many big numbers.
One of Partch's ideas was that the just tonal center needn't be any more fixed than that of traditional Western 12-tone theory. In fact, if you consider that any available tone could be at the center of a tonality change (or key change), then there ought to be far more possibilities with a just tuning system than with a tempered scale. It's just hard to realize this with 12 notes or less, which leads many people to say you can't perform key changes freely in just intonation. Partch's famous 43-tone octave (he winced at both the word "note" and the word "scale") came about from the necessity to have available enough tones to create a sense of tonality around any of the more important tones: for instance, if you modulate to a 7/5 O-tonality, you need to represent the 3rd harmonic in that tonality, meaning something like 21/20. Unfortunately, if you want to perform the same modulation from there, thus 7/5 * 7/5, or 49/25, then the 3rd harmonic will be 147/100, a ratio that doesn't mean much intuitively. But in Rationale, you can simply put the hover (that floating ratio you see in ADD mode) over 7/5 and hit "T"; now that ratio becomes 1/1. What would have been 21/20 now appears as 3/4, and 49/25 as 7/5.
Any previously added notes are also updated in reference to the new 1/1. You can modulate almost endlessly in this way, so you could, for instance, serialize JI passages, transposing by any just interval, or change tonalities arbitrarily throughout a piece, then just hit "G" to return to the original 1/1.
You could compose this way to your heart's content, as I did with my original JI Sequencer program. But Rationale offers a new possibility: after adding some notes, if you want to change the tonal center fairly permanently, or just for a certain passage, hold down "R" and type in a number. If the number is higher than the highest existing region (which starts as 0), a new region is created (if the highest region is 0, region 1 is created, even if you type 323592). Any more tonality changes will not affect previously added notes. The hover and every note always show their respective region numbers beneath the horizontal duration line, and the current ratio for that region next to the vertical line, to the right of the note's ratio.
You could have a repeating pattern with, e.g., 3 bars of 4/4 time with 1/1 tonal center, 2 bars of 5/4 time in 6/7, and 2 bars of 7/8 time in 5/4, each bar represented with simple tone ratios within its own tonality; or the verses and choruses of a song could have different tonal centers; or you could write a sonata with movements around different tonal centers; or, as I like to do, you could just keep composing and modulating arbitrarily throughout a piece. Regions are not dependent on any other aspect of a note, like instrument, voice, or time, so overlapping notes, or tied notes from the same instrument, could correspond to different tonal centers. In EDIT mode, you can select any number of notes and change their region with the right-click menu.

Rationale is available at Sourceforge. It requires Python 2.5 and the Csound Python API (installed as csnd.py).