back to list

some help with Pythagorean scale properties?

🔗jjensen142000 <jjensen14@hotmail.com>

3/22/2004 6:23:58 PM

Hi

I am trying to understand meantone(s), and that led me to trying to
write a program to generate the Pythagorean scale which I have done:

If I start with a string vibrating at a certain frequency which
I'll call the 1, and I repeatedly take 3rd harmonics up and down,
I generate

{ ..., 3^-2, 3^-1, 1, 3^1, 3^2, ... }

then I rescale when necessary to put every note in the octave
[1,2] by multiplying by 2^k for some appropriate integer k.

Questions:

1. So I have terms 2^k * 3^n where there seems to be no nice
formula to determine the k from the given n. But there is,
to me, a suprising amount of regularity between the distances
to the adjacent notes (its one of those commas, no doubt)
For example, Db to C# is 23.4600103... cents, and that
number occurs again from Gb to F# and Cb to B (and many
more places if I generate the sequence longer)

Why should this be? It is very amazing to me that it should
be the same number...

2. If I plot the log of my sequence of pure 3rd harmonics, I get
a line. I want to say that 1/4 comma meantone is another line
with a slightly lower slope to exactly hit a rescaled version
of the 5th harmonic.

There has been a substantial time lag between my working on
these calculations and my posting this note, but as I recall,
the big problem that I'm having is that meantone is defined as
deviating from pythagorean by some power of 81/80 but I
don't have a *formula* for pythagorean values, only an iterative
procedure for generating them, with the power of 2 found by
trial and error, and therefore I can't prove anything.

I hope this makes sense. In the end what I am trying to do is
draw a picture of meantone tunings.

thanks,
JEff

🔗Paul Erlich <perlich@aya.yale.edu>

3/23/2004 5:57:21 AM

--- In tuning-math@yahoogroups.com, "jjensen142000" <jjensen14@h...>
wrote:
> Hi
>
> I am trying to understand meantone(s), and that led me to trying to
> write a program to generate the Pythagorean scale which I have done:
>
> If I start with a string vibrating at a certain frequency which
> I'll call the 1, and I repeatedly take 3rd harmonics up and down,
> I generate
>
> { ..., 3^-2, 3^-1, 1, 3^1, 3^2, ... }
>
> then I rescale when necessary to put every note in the octave
> [1,2] by multiplying by 2^k for some appropriate integer k.
>
> Questions:
>
> 1. So I have terms 2^k * 3^n where there seems to be no nice
> formula to determine the k from the given n.

If you allow yourself to use the "floor" function, there is.

> But there is,
> to me, a suprising amount of regularity between the distances
> to the adjacent notes (its one of those commas, no doubt)
> For example, Db to C# is 23.4600103... cents, and that
> number occurs again from Gb to F# and Cb to B (and many
> more places if I generate the sequence longer)
>
> Why should this be? It is very amazing to me that it should
> be the same number...

This number is simply 3^12 * 2^(-19), known as the pythagorean comma.
Even ratio-fetishists often avoid the actual fraction, which, if you
care, is 531441/524288.

> 2. If I plot the log of my sequence of pure 3rd harmonics, I get
> a line. I want to say that 1/4 comma meantone is another line
> with a slightly lower slope to exactly hit a rescaled version
> of the 5th harmonic.

Correct -- if, instead of 3rd harmonics (3/1's), you use 3/2's.

> There has been a substantial time lag between my working on
> these calculations and my posting this note, but as I recall,
> the big problem that I'm having is that meantone is defined as
> deviating from pythagorean by some power of 81/80 but I
> don't have a *formula* for pythagorean values, only an iterative
> procedure for generating them, with the power of 2 found by
> trial and error, and therefore I can't prove anything.

You can use the floor function to compute the power of 2. What
software are you using?

🔗jjensen142000 <jjensen14@hotmail.com>

3/23/2004 8:28:12 PM

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> --- In tuning-math@yahoogroups.com, "jjensen142000"
<jjensen14@h...>
> wrote:
> > Hi
> >
> > I am trying to understand meantone(s), and that led me to trying
to
> > write a program to generate the Pythagorean scale which I have
done:
> >
> > If I start with a string vibrating at a certain frequency which
> > I'll call the 1, and I repeatedly take 3rd harmonics up and down,
> > I generate
> >
> > { ..., 3^-2, 3^-1, 1, 3^1, 3^2, ... }
> >
> > then I rescale when necessary to put every note in the octave
> > [1,2] by multiplying by 2^k for some appropriate integer k.
> >
> > Questions:
> >
> > 1. So I have terms 2^k * 3^n where there seems to be no nice
> > formula to determine the k from the given n.
>
> If you allow yourself to use the "floor" function, there is.
>
> > But there is,
> > to me, a suprising amount of regularity between the distances
> > to the adjacent notes (its one of those commas, no doubt)
> > For example, Db to C# is 23.4600103... cents, and that
> > number occurs again from Gb to F# and Cb to B (and many
> > more places if I generate the sequence longer)
> >
> > Why should this be? It is very amazing to me that it should
> > be the same number...
>
> This number is simply 3^12 * 2^(-19), known as the pythagorean
comma.
> Even ratio-fetishists often avoid the actual fraction, which, if
you
> care, is 531441/524288.
>
> > 2. If I plot the log of my sequence of pure 3rd harmonics, I get
> > a line. I want to say that 1/4 comma meantone is another line
> > with a slightly lower slope to exactly hit a rescaled version
> > of the 5th harmonic.
>
> Correct -- if, instead of 3rd harmonics (3/1's), you use 3/2's.
>
> > There has been a substantial time lag between my working on
> > these calculations and my posting this note, but as I recall,
> > the big problem that I'm having is that meantone is defined as
> > deviating from pythagorean by some power of 81/80 but I
> > don't have a *formula* for pythagorean values, only an
iterative
> > procedure for generating them, with the power of 2 found by
> > trial and error, and therefore I can't prove anything.
>
> You can use the floor function to compute the power of 2. What
> software are you using?

I'm using a Perl script that I wrote. I am familiar with the floor
function, and its great for computer programming, but I'm having
trouble using it in a mathematical proof. To know that
floor(a*b) = floor(c*d) you have to actually compute the numbers,
you can't reason about it. I can compute the numbers and see
that the same commas keep occuring, but that doesn't give me any
insight into why.

--Jeff

🔗Paul Erlich <perlich@aya.yale.edu>

3/24/2004 9:39:14 AM

Hi Jeff,

--- In tuning-math@yahoogroups.com, "jjensen142000" <jjensen14@h...>
wrote:

> > > 1. So I have terms 2^k * 3^n where there seems to be no nice
> > > formula to determine the k from the given n.
> >
> > If you allow yourself to use the "floor" function, there is.
> >
> > You can use the floor function to compute the power of 2. What
> > software are you using?
>
>
> I'm using a Perl script that I wrote. I am familiar with the floor
> function,

Great. That's all you'll need. Let's say you have a ratio r which you
determined as 3^n (or (3/2)^n, or whatever) for some given n. Define
a new variable k as

k=-floor(log(r)/log(2))

This is the k you wanted above, assuming you're reducing everything
to be withing the octave from 1 to 2. Now recompute r from the old r
and k thus:

r=r/(2^-k).

No trial and error involved.

> and its great for computer programming, but I'm having
> trouble using it in a mathematical proof.

I didn't know you were trying to prove anything. What's this proof
you're working on? Sorry if I misundertood your intention above.

> To know that
> floor(a*b) = floor(c*d) you have to actually compute the numbers,
> you can't reason about it.

Sometimes you can. Continued fractions can come into it. Let me know
what you're trying to do.

-Paul

🔗jjensen142000 <jjensen14@hotmail.com>

3/24/2004 2:44:43 PM

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> Hi Jeff,
>
> --- In tuning-math@yahoogroups.com, "jjensen142000"
<jjensen14@h...>
> wrote:
>
> > > > 1. So I have terms 2^k * 3^n where there seems to be no nice
> > > > formula to determine the k from the given n.
> > >
> > > If you allow yourself to use the "floor" function, there is.
> > >
> > > You can use the floor function to compute the power of 2. What
> > > software are you using?
> >
> >
> > I'm using a Perl script that I wrote. I am familiar with the
floor
> > function,
>
> Great. That's all you'll need. Let's say you have a ratio r which
you
> determined as 3^n (or (3/2)^n, or whatever) for some given n.
Define
> a new variable k as
>
> k=-floor(log(r)/log(2))
>
> This is the k you wanted above, assuming you're reducing everything
> to be withing the octave from 1 to 2. Now recompute r from the old
r
> and k thus:
>
> r=r/(2^-k).
>
> No trial and error involved.
>
> > and its great for computer programming, but I'm having
> > trouble using it in a mathematical proof.
>
> I didn't know you were trying to prove anything. What's this proof
> you're working on? Sorry if I misundertood your intention above.
>
> > To know that
> > floor(a*b) = floor(c*d) you have to actually compute the numbers,
> > you can't reason about it.
>
> Sometimes you can. Continued fractions can come into it. Let me
know
> what you're trying to do.
>
> -Paul

Ok, now I've got my notes in front of me so I can be a little more
specific. I think the Pythagorean note generating function is

P(x) = 2^{k(x;3)} * 3^x
where 2^k(x;3) is the factor that rescales 3^x into the interval
[1,2]

that means k(x;3) is the integer in [ x log3/log2 -1, x log3/log2],
which is floor( x log3/log2 )

Then we restrict x to be integer values only. (I guess I was hoping
to get some enlightenment by allowing x to be any real number...but
I don't think I did)

Anyway, why did I write k(x;3)? Because for any meantone I think
the function would be

M(x) = [ (81/80)^{-a} *3 ] * 2^k( x; (81/80)^{-a} *3 )

where a = 1/4 or any of the other values Benson mentions in
ch 5 of his Mathematics and Music online course notes.

Ok, so to answer your question, what I was trying to "prove" was
sort of based on something you said in "A Gentle Intro to Fokker
Peridodicity Blocks Part 1" where you more or less say that we
could generate the notes f,c,g,d,a and then identify e with f
and close the circle since they are only 90.22... cents apart, or
we could keep on generating notes until we get an even closer
match. So I'm trying to understand why b-c should be the SAME
90.22... cents, and f#-g the same, and so on...

Maybe there is nothing more to understand, it is just a wierd
coincidence. But I would have expected 90.2 cents, then maybe 85.3
cents, then 94 cents... I is just amazing to me that it is
the same number.

--Jeff

🔗Paul Erlich <perlich@aya.yale.edu>

3/24/2004 5:02:35 PM

--- In tuning-math@yahoogroups.com, "jjensen142000" <jjensen14@h...>
wrote:
> --- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
> wrote:
> > Hi Jeff,
> >
> > --- In tuning-math@yahoogroups.com, "jjensen142000"
> <jjensen14@h...>
> > wrote:
> >
> > > > > 1. So I have terms 2^k * 3^n where there seems to be no
nice
> > > > > formula to determine the k from the given n.
> > > >
> > > > If you allow yourself to use the "floor" function, there is.
> > > >
> > > > You can use the floor function to compute the power of 2.
What
> > > > software are you using?
> > >
> > >
> > > I'm using a Perl script that I wrote. I am familiar with the
> floor
> > > function,
> >
> > Great. That's all you'll need. Let's say you have a ratio r which
> you
> > determined as 3^n (or (3/2)^n, or whatever) for some given n.
> Define
> > a new variable k as
> >
> > k=-floor(log(r)/log(2))
> >
> > This is the k you wanted above, assuming you're reducing
everything
> > to be withing the octave from 1 to 2. Now recompute r from the
old
> r
> > and k thus:
> >
> > r=r/(2^-k).
> >
> > No trial and error involved.
> >
> > > and its great for computer programming, but I'm having
> > > trouble using it in a mathematical proof.
> >
> > I didn't know you were trying to prove anything. What's this
proof
> > you're working on? Sorry if I misundertood your intention above.
> >
> > > To know that
> > > floor(a*b) = floor(c*d) you have to actually compute the
numbers,
> > > you can't reason about it.
> >
> > Sometimes you can. Continued fractions can come into it. Let me
> know
> > what you're trying to do.
> >
> > -Paul
>
> Ok, now I've got my notes in front of me so I can be a little more
> specific. I think the Pythagorean note generating function is
>
> P(x) = 2^{k(x;3)} * 3^x
> where 2^k(x;3) is the factor that rescales 3^x into the interval
> [1,2]
>
> that means k(x;3) is the integer in [ x log3/log2 -1, x log3/log2],
> which is floor( x log3/log2 )
>
> Then we restrict x to be integer values only. (I guess I was hoping
> to get some enlightenment by allowing x to be any real number...but
> I don't think I did)
>
> Anyway, why did I write k(x;3)? Because for any meantone I think
> the function would be
>
> M(x) = [ (81/80)^{-a} *3 ] * 2^k( x; (81/80)^{-a} *3 )
>
> where a = 1/4 or any of the other values Benson mentions in
> ch 5 of his Mathematics and Music online course notes.
>
>
> Ok, so to answer your question, what I was trying to "prove" was
> sort of based on something you said in "A Gentle Intro to Fokker
> Peridodicity Blocks Part 1" where you more or less say that we
> could generate the notes f,c,g,d,a and then identify e with f
> and close the circle since they are only 90.22... cents apart, or
> we could keep on generating notes until we get an even closer
> match. So I'm trying to understand why b-c should be the SAME
> 90.22... cents, and f#-g the same, and so on...

Well, that should be fairly clear now. These intervals are all equal
to P(5), where P(x) is as you've defined it above. Of course, if
you're reducing everything to be within the traditional middle
octave, which starts on C and ends just before the octave-higher c,
then b-c will become b-C which is not 90.22 cents but rather -1109.78
cents. But then these, 90.22 and -1109.78 will be the only two
possibilities for P(y)-P(z) where y-z = 5.

> Maybe there is nothing more to understand, it is just a wierd
> coincidence.

There's nothing weird or coincidental about it.

> But I would have expected 90.2 cents, then maybe 85.3
> cents, then 94 cents...

I can't see why you would have expected that. If you have a clock,
and mark off the point that your minute hand points to every 35.1
minutes, after a few hours go by, would you expect the pairs of
nearby markings to have somewhat different distances between the two
markings, or the same distances between the two markings?