I first of all want to say I’m really happy this thing exists. This is opening the doors to a great way of exploring harmony and algorithmic composition.
These are some thoughts about the current implementation of the JI op and some suggestions for improvement.
JI A B will return a value based on the 1v/oct standard and 16-bit output scaling corresponding to A/(B*2^n), which is the frequency ratio of A to B shifted a number of octaves n downwards so that the returned value is smaller than an octave.
While the wrapping functionality can be useful in some cases, like when defining scales, where the ratios are that of primes wrapped down to fit within an octave (ie the third, 5/4, and the fifth, 3/2, (funny how their names have nothing to do with their ratios )) I’ve found that it doesn’t allow to cover most use cases. If you want to generate an offset value for a modulating oscillator doing FM, and want, say a 7/1 ratio, you’d have to add back the octaves manually which is quite awkward, as
JI 7 1 would actually return a value corresponding to 7/4. You’d have to do something like
ADD JI 7 1 V 2. This also has the strange effect of having
JI 7 1 =
JI 7 2 =
JI 7 4.
JI op non-wrapping (or having two variations of the JI op, one wrapping, one non-wrapping) would solve these issues and make it’s use much more intuitive I think, because you’d get exactly what ratio you ask for. If you want to constrain a ratio to the range of an octave, it’s a matter of very simple mental math. For a fraction a/b which is initially greater than 2 (that is, a > 2*b), you will divide it by 2 until it is smaller than 2.
In my experience playing around with harmony and musical structures using ratios, it’s important to be aware of the octave shifts happening, because it has a very strong impact on the qualities it gives to a chord. With two notes in a 7/1 ratio, all of the higher note’s partials correspond to some of the lower note’s partials. Because of this the higher note is much less noticeable and strongly fused into the lower note. However, in a 7/4 ratio, only a small part of both notes’ partials are in common, which makes each stand out much more individually. I don’t think we should discard the ability to include octave relationships in ratios, because it’s a very powerful tool — and forcing you to be aware of it is a good thing.