back to list

complexity formulae, tolerance

🔗Daniel Wolf <DJWOLF_MATERIAL@xxxxxxxxxx.xxxx>

3/5/1999 2:08:08 AM

In chapter 5 of his _Divisions of the Tetrachord_ (Frog Peak 1993), John
Chalmers gives an excellent summary of methods for the analysis of
tetrachords which might be usefully applicable to individual intervals and
systems other than tetrachords. The presentation of Klarenz Barlow's
indigestability formula is, however, not so useful out of the context of
Bawrlough's landmark _Bus Journey to Parametron_ (Feedback Papers 21-23,
available in the states from Frog Peak).

Some formulae from Chalmers:

(1) Intervallic inequality: the ratio of the logarithms (e.g. cents) of two
intervals.

(2) Harmonic complexity functions:

(a) Largest prime function, i.e. the prime limit.
(b) Wilson's complexity function: the sum of the prime factors
(greater than two) times the absolute values of their exponents.
(c) Harmonic simplicity: reciprocal of (b)

(3).Distance formulae:

(a) Euclidian distance: the square root of the sum of the squares
of the differences of
the coordinates.
(b) Minkowskian ('City Block') metric: the sum of the absolute
values of the differences
between corresponding intervals.
(c) Tenney's pitch-distance function: the base two logarithm of p/q
(multiply this by 1200 to get cents)
(d) Tenney's harmonic-distance function: the log of pq

(4) Barlow's formulae:

(a) indigestibility: the indigestibility of p is equal to
2(p-1)^2/p
(b) harmonicity: the harmonicity of p/q is equal to
sgn(indegestibility(p)-indigestibility(q))/(indigestibility(p)+indigestibil
ity(q)),
The sgn function equal +1 when indigestibility(p) is greater than
indigestibility(q) and
-1 when indigestibility(q) is greater.

(5) Euler's _gradus suavatis_ function:

(a) for prime numbers: the prime number itself
(b) for composite numbers: the sum of the prime factors minus one
less than the number of factors.
(c) for ratios: convert a ratio to a segment of the harmonic
series, then
compute the least common multiple of the terms.

(d, for the record, not in Chalmers) Euler's totient function, if N
is a positive whole number, then phi(n) = one less than the number of
positive whole numbers less than N which share no common divisors with
N. e.g. 12 contains no factors common to at most the three numbers
5,7,11, therefore phi(12)=3+1=4

At this point, Chalmers brings up an important point: ratios which deviate
by only a small amount
from ratios of small whole numbers contain either high primes or large
composites, so that the dissonance of these slightly mistuned consonance
becomes arbitrarily large when expressed in any theory base upon prime
factorization. Helmholtz's beat theory and the critical band theories
correct this, and are typical bases for theories of tolerance.

Barlow's two factors for establishing the limits of tolerance, or what he
calls 'wishful tuning', are

"1. The deviation of the imagined pitch from the given one, and
2. The contraction or expansion of the steps in the scale resulting from
the aforesaid stretch of the imagination."

Barlow set --- arbitrarily -- the tolerance limits as +/-25 cents and +/-18
cents respectively. Thus if the ear 'bent' 100 cents upward to 111.7 cents,
to hear the ratio 16/15, then the tone 200 cents above the tonic could not
be interpreted as a 10/9 of 182.4 cents, because the resulting imagined
halfstep of 70.7 cents would fall outside of the step tolerance limit of
100+/-18 cents.

🔗Paul Hahn <Paul-Hahn@xxxxxxx.xxxxx.xxxx>

3/5/1999 8:42:28 AM

On Fri, 5 Mar 1999, Daniel Wolf wrote:
> Some formulae from Chalmers:
[ . . . ]
> (3).Distance formulae:

The complexity function which is integral to the concept of consistency
level, and even more so to diameter, is like the "city-block" metric
except on a triangulated lattice. It can be calculated numerically
without a diagram, at least up to the 7-limit, as follows:

- Take the exponents of the factorization of the ratio, excluding
the 2s.
- Sum the positive and negative exponents separately, then take
the absolute values of the sums.
- The greater of the two values is the complexity.

Example: the 225:224 which we've been using so often lately is factored
(3^2 * 5^2 * 7^-1), in Fokker's vector notation (2 2 -1). |2 + 2| = 4;
|-1| = 1; therefore this is a quaternary (7-limit) interval.

Other examples:

126:125 (2 -3 1) |2 + 1| = |-3| tertiary interval.

128:125 (0 -3) |-3| = 3 tertiary interval.

81:80 (4 -1) |4| > |-1| quaternary interval.

64:63 (-2 0 -1) |-2 + -1| = 3 tertiary interval.

50:49 (0 2 -2) |2| = |-2| secondary interval.

If you're an odd-limit proponent such as myself, things get a little
complicated at the 9-limit and above, since 9 is composite, and
odd-factorization does not necessarily yield unique results. However,
the minimum complexity is achieved by assigning the 9 exponent as large
as possible, and the 3 exponent 0 or 1 as appropriate.

Example: going back to the 225:224, its 9-limit factorization would be
(0 2 -1 1), so it's a tertiary interval in the 9-limit even though it's
a quaternary interval at lower limits. Similarly, the schisma (8 1) has
complexity 9 at the 5- or 7-limit, but at the 9-limit its vector becomes
(0 1 0 4), so its complexity drops to 5.

It _really_ gets hairy at the 15-limit, since 15 has more than one odd
factor, but as Carl just pointed out there doesn't seem to a practical
need to go that high.

Paul Erlich (and, I'm sure, others as well) has suggested weighting this
triangulated-city-block function by the logs of the prime factors
involved; this can be done simply by multiplying each exponent by the
log of its base before summing. This certainly could be useful for some
purposes; in particular, it neatly resolves the odd vs. prime limit
question, as the two become equivalent.

--pH <manynote@lib-rary.wustl.edu> http://library.wustl.edu/~manynote
O
/\ "Well, so far, every time I break he runs out.
-\-\-- o But he's gotta slip up sometime . . . "

NOTE: dehyphenate node to remove spamblock. <*>

🔗Paul Hahn <Paul-Hahn@xxxxxxx.xxxxx.xxxx>

3/5/1999 9:08:16 AM

On Fri, 5 Mar 1999, Paul Hahn wrote:
> However,
> the minimum complexity is achieved by assigning the 9 exponent as large
> as possible, and the 3 exponent 0 or 1 as appropriate.

That's if the 3 exponent in the prime factorization is positive; if it's
negative, do the above with the signs reversed.

--pH <manynote@lib-rary.wustl.edu> http://library.wustl.edu/~manynote
O
/\ "Well, so far, every time I break he runs out.
-\-\-- o But he's gotta slip up sometime . . . "

NOTE: dehyphenate node to remove spamblock. <*>

🔗Paul H. Erlich <PErlich@xxxxxxxxxxxxx.xxxx>

3/5/1999 2:08:09 PM

Daniel Wolf wrote,

>(4) Barlow's formulae:

> (a) indigestibility: the indigestibility of p is equal to
>2(p-1)^2/p
> (b) harmonicity: the harmonicity of p/q is equal to
>sgn(indegestibility(p)-indigestibility(q))/(indigestibility(p)+indigest
ibil
>ity(q)),
> The sgn function equal +1 when indigestibility(p) is greater
than
>indigestibility(q) and
> -1 when indigestibility(q) is greater.

This is only correct in the case where p and q are prime. You're leaving
out a step or two.

>(3).Distance formulae:

> (a) Euclidian distance: the square root of the sum of the
squares
of the differences of
> the coordinates.
> (b) Minkowskian ('City Block') metric: the sum of the absolute
>values of the differences
> between corresponding intervals.

you mean the differences between coordinates of corresponding intervals.

[...]
> (d) Tenney's harmonic-distance function: the log of pq

All of these assume a rectangular lattice; a triangular lattice would
imply different (and perhaps more valid) result. e.g. 6/5 vs. 15/8,
which are the same by all the above measures, but a triangular lattice
would make 6/5 "closer" than 15/8. I came up with a triangular version
of Tenney's harmonic-distance function before I heard of the original
version.

🔗Joseph L Monzo <monz@xxxx.xxxx>

3/5/1999 8:07:23 PM

Thanks to Daniel Wolf for a great posting
summarizing a lot of complex musical math!

- Monzo
___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

🔗Paul H. Erlich <PErlich@xxxxxxxxxxxxx.xxxx>

3/8/1999 2:13:39 PM

Paul Hahn wrote,

>On Fri, 5 Mar 1999, Daniel Wolf wrote:
>> Some formulae from Chalmers:
>[ . . . ]
>> (3).Distance formulae:

>The complexity function which is integral to the concept of consistency
>level, and even more so to diameter, is like the "city-block" metric
>except on a triangulated lattice. It can be calculated numerically
>without a diagram, at least up to the 7-limit, as follows:

> - Take the exponents of the factorization of the ratio, excluding
> the 2s.
> - Sum the positive and negative exponents separately, then take
> the absolute values of the sums.
> - The greater of the two values is the complexity.

>Example: the 225:224 which we've been using so often lately is factored
>(3^2 * 5^2 * 7^-1), in Fokker's vector notation (2 2 -1). |2 + 2| = 4;

>|-1| = 1; therefore this is a quaternary (7-limit) interval.

>Other examples:

>126:125 (2 -3 1) |2 + 1| = |-3| tertiary
interval.

>128:125 (0 -3) |-3| = 3 tertiary interval.

>81:80 (4 -1) |4| > |-1| quaternary interval.

>64:63 (-2 0 -1) |-2 + -1| = 3 tertiary interval.

>50:49 (0 2 -2) |2| = |-2| secondary interval.

>If you're an odd-limit proponent such as myself, things get a little
>complicated at the 9-limit and above, since 9 is composite, and
>odd-factorization does not necessarily yield unique results. However,
>the minimum complexity is achieved by assigning the 9 exponent as large
>as possible, and the 3 exponent 0 or 1 as appropriate.

>Example: going back to the 225:224, its 9-limit factorization would be
>(0 2 -1 1), so it's a tertiary interval in the 9-limit even though it's
>a quaternary interval at lower limits. Similarly, the schisma (8 1)
has
>complexity 9 at the 5- or 7-limit, but at the 9-limit its vector
becomes
>(0 1 0 4), so its complexity drops to 5.

>It _really_ gets hairy at the 15-limit, since 15 has more than one odd
>factor, but as Carl just pointed out there doesn't seem to a practical
>need to go that high.

>Paul Erlich (and, I'm sure, others as well) has suggested weighting
this
>triangulated-city-block function by the logs of the prime factors
>involved; this can be done simply by multiplying each exponent by the
>log of its base before summing. This certainly could be useful for
some
>purposes; in particular, it neatly resolves the odd vs. prime limit
>question, as the two become equivalent.

Thanks, Paul H., for explaining this. Take note, Manuel (I do feel
strongly that this improves upon Tenney's and Barlow's formulations,
especially in the typical case where factors of two are ignored). I
don't know if anyone else has suggested this metric, but you are right,
I use the log function so that 3^2 and 9, or 3*5 and 15, come out
exactly the same and (in the context of the triangular metric as you
explained above) it renders the odd. vs. prime limit question moot.

I have used these complexity values as inputs to a multidimensional
scaling algorithm in order to produce visualizations of scales (the
diatonic scale comes out as a helix, a chain of fifths twisted so that
every note has its major and minor thirds on adjacent turns).

🔗manuel.op.de.coul@xxx.xx

3/10/1999 8:41:55 AM

Paul Erlich wrote:
> Thanks, Paul H., for explaining this. Take note, Manuel (I do feel
> strongly that this improves upon Tenney's and Barlow's formulations,
> especially in the typical case where factors of two are ignored). I
> don't know if anyone else has suggested this metric, but you are right,
> I use the log function so that 3^2 and 9, or 3*5 and 15, come out
> exactly the same and (in the context of the triangular metric as you
> explained above) it renders the odd. vs. prime limit question moot.

Ok, I assume you take the smallest primes most often when going in the
triangular lattice from the ratio's point to the origin while summing the
log values, so as to obtain the lowest value for the function.
If so, please verify my results. I have used the base-2 log.
225/224 7.813781
126/125 5.491853
128/125 6.965784
81/80 6.339850
64/63 5.977279
50/49 4.643856

Manuel Op de Coul coul@ezh.nl

🔗Paul Hahn <Paul-Hahn@xxxxxxx.xxxxx.xxxx>

3/10/1999 9:59:16 AM

On Wed, 10 Mar 1999 manuel.op.de.coul@ezh.nl wrote:
> Ok, I assume you take the smallest primes most often when going in the
> triangular lattice from the ratio's point to the origin while summing the
> log values, so as to obtain the lowest value for the function.

There are often many routes through the lattice. As long as you take
one which is as direct as possible (not going along 2 sides of a
triangle instead of one) the results should be the same.

> If so, please verify my results. I have used the base-2 log.
>
> 225/224 7.813781
> 126/125 5.491853
> 128/125 6.965784
> 81/80 6.339850
> 64/63 5.977279
> 50/49 4.643856

126/125 should be 7.451211.
50/49 should be 5.614709.

The others are correct.

A note--126/125 does not work if you use the algorithm I posted, where
you sum the exponents. The vector for 126/125 is (2 -3 1):

2 lg(3) + lg(7) = 5.977279
-3 lg(5) = 6.965784

But if you actually look at the lattice, the simplest route to 126/125
is 6/5 * 6/5 * 7/5 (* 1/2), so it should be

2 lg(5) + lg(7) = 7.451211

Which means that my algorithm doesn't work for the weighted version,
only the integer one. Durn. That's going to make it harder for you to
incorporate into Scala, Manuel.

--pH <manynote@lib-rary.wustl.edu> http://library.wustl.edu/~manynote
O
/\ "Well, so far, every time I break he runs out.
-\-\-- o But he's gotta slip up sometime . . . "

NOTE: dehyphenate node to remove spamblock. <*>