My hopes for working with JI is in the context of vocal synthesis. I was inspired by a video I saw of the vocal ensemble Graindelavoix perform Gesualdo. Their blending was amazing, and I thought it might have something to do with their intonation. Since fretless ensembles tune chords to ring, I figured it was the natural inclination for the intonation scheme to be more just intonation than equal temperament
Strictly speaking, there is no such thing as a non-diatonic note in this system. The only actual pitches available are 7 scale degrees available in the current base key. Non-diatonic pitches are considered in-between two diatonic pitches, and interpolation is used to compute those frequencies.
By having continuous control of key and pitch, the idea was that a lyrically performed sound such as the voice could have a degree of stretchiness in the pitches. This would allow an ensemble of voices to perform ringing chords in multiple keys
A subtractive sawtooth patch, first performing in equal temperament, then in just intonation. In the ET patch there is beating, while with JI the pitches are dead on. The difference in sound is not subtle.
children
vox_et_ji (iteration: from saws to vocal synthesizers)
A synthesized vocal ensemble playing a diatonic cluster chord, first using equal temperament, then using Just Intonation. In the ET version, there is that warbly beating sound which would be quite difficult and unnatural for a human vocal ensemble to perform. To my ears, they turn into sawtooth oscillators after a while. In the JI version, the voices blend much better. The sound is a little metallic, but I still think it's a step in the right direction. I'm hoping I'll be able to sand down some of the rough edges here.
I think the reason why there is a metallic quality to the voices has to do with the fact that the voices were basically copy-pasted from one another. Other than pitch, the voices are virtually identical to one another right down to the phase alignment.
Just intonation boils down two a multiplication between a base frequency (in this case, determined from the input midi pitch and key and calculated using equal temperament), multiplied by a just intonation ratio.
Map 12 semitones to 7 fractional diatonic tones: [0, 0.5, 1, 1.5, 2, 3, 3.5, 4, 4.5, 5, 5.5, 6, 7]. Note how there are larger jumps between 2 + 3 (mi and fa), and 6 and 7 (ti and do). These are where the halfsteps are in the major diatonic scale
The input is still coming in as a MIDI note number in semitones, converted to a scale degree relative to the base note that is in range 0-11. In order to have it work with a JI ratio lookup table with interpolation, it needs to be converted to a fractional value between 0 and 7. Computing the multiplier from a semitone value
Due to the interpolation logic, the algorithm needs to be able to wrap to above the octave. This is done by extending the lookup tables to include the second octave.