Dear Dan,

At last, I've cracked the code. :-) That's what it felt like, even after your second lot of explanation (by private email).

Here's how I would have said it.

To find a ratio N/D that is approximated by n steps of a d-tET scale i.e. 2^(n/d), first find the magic number m = Round(d * 35/12), where .5's round down. [ ^ means "raised to the power of" ]

If n <= d/2, i.e. in the lower half-octave

[ <= means "is less than or equal to" ]

N = m + n

D = m - n

or all on one line we can say

2^(n/d) ~= (d * 35/12 + n) / (d * 35/12 - n) , for 0 <= n <= d/2

If n >= d/2, i.e. upper half octave, use the inversions of the intervals in the lower half octave so

N = 2 * (m - (d-n))

D = m + (d-n)

This means that when d is even we have two equally valid candidates for the half-octave. Of course each N/D should be reduced to lowest terms.

Now, I find this fascinating because it isn't the kind of approximation I would have ever come up with. I suspect it is precisely *because* you don't have a conventional math background that you came up with it, though what a shame if we had not been able to communicate.

It comes out with many N's and D's that are too high for my liking, but I am curious to understand why it works at all, and what its limitations may be.

You appear to claim (correct me if I'm wrong) that 35/12 works because it is the number of semitones (12-tET scale divisions) that best approximates a fifth (3/2) times the number of semitones that best approximates a fourth (4/3) divided by the number of semitones in an octave. This sounds like numerology to me. I don't understand why this should work. What's special about 12-tET except that it has good approximations to fifths (and hence fourths). What if we use 53-tET and get 31 * 22 / 53. This clearly doesn't work.

I recall that for large d

2^(1/d)

~= 1 + ln(2)/d [ ln(x) means the natural logarithm of x ]

~= (d + ln(2)/2) / (d - ln(2)/2)

= (d * 2/ln(2) + 1) / (d * 2/ln(2) - 1)

So instead of 35/12 = 2.916666... we have

2/ln(2) ~= 2.885390081778

So it appears that 35/12 works because it is a reasonable approximation of 2/ln(2), not because of any numbers of semitones. Anyone feel like searching for other rational approximations to 2/ln(2).

So m = Round(d * 2.88539) should work even better above, and we don't need to worry about which way .5's go, since they won't occur.

How high does d have to go before this diverges from the original formula?

Regards,

-- Dave Keenan

http://dkeenan.com