back to list

semi-periodic scales

🔗Carl Lumma <carl@lumma.org>

9/23/2001 5:10:07 PM

Posting an open question...

The normal diatonic scale is said to have octave equivalence.
Which means, you can start anywhere in the scale, move an
octave, and you won't know that anything happened.

The diatonic scale is semi-periodic at the 3:2. For moves of a
single 3:2, very little changes (say, from LLsLLLs to LLsLLsL).

How can we quantify this?

-Carl

🔗Paul Erlich <paul@stretch-music.com>

9/24/2001 12:10:11 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:
> Posting an open question...
>
> The normal diatonic scale is said to have octave equivalence.
> Which means, you can start anywhere in the scale, move an
> octave, and you won't know that anything happened.
>
> The diatonic scale is semi-periodic at the 3:2. For moves of a
> single 3:2, very little changes (say, from LLsLLLs to LLsLLsL).
>
> How can we quantify this?
>
> -Carl

Hi Carl . . .

Only an MOS scale generated by approximate 3:2's will have this
property (only one note changes with transpositions by a 3:2). Bigger
examples include 19-out-of-31 and 29-out-of-41.

My omnitetrachordality property is closely related. If
omnitetrachordality holds, moves of a 3:2 will only change the notes
within a single 9:8 span.

🔗Carl Lumma <carl@lumma.org>

9/24/2001 12:49:47 PM

>Only an MOS scale generated by approximate 3:2's will have this
>property (only one note changes with transpositions by a 3:2).

Yes but I'm interested in a general measure for any scale. I'm
thinking of a function which can take a scale and an interval as
an input, and spit out the "extent" of the scale's symmetry at
that interval.

>My omnitetrachordality property is closely related. If
>omnitetrachordality holds, moves of a 3:2 will only change the
>notes within a single 9:8 span.

Is definition in your paper still the most recent?

-Carl

🔗Paul Erlich <paul@stretch-music.com>

9/24/2001 1:56:44 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:

> >Only an MOS scale generated by approximate 3:2's will have this
> >property (only one note changes with transpositions by a 3:2).
>
> Yes but I'm interested in a general measure for any scale. I'm
> thinking of a function which can take a scale and an interval as
> an input, and spit out the "extent" of the scale's symmetry at
> that interval.

Sounds good . . . for an MOS scale, it depends on how many generators
make up the 3:2 . . . for example, any MIRACLE MOS will have 6 notes
change when you transpose it by a 3:2.
>
> >My omnitetrachordality property is closely related. If
> >omnitetrachordality holds, moves of a 3:2 will only change the
> >notes within a single 9:8 span.
>
> Is definition in your paper still the most recent?
>
I don't use the word "omnitetrachordality" in my paper but the
concept is there.

🔗Carl Lumma <carl@lumma.org>

9/24/2001 3:06:25 PM

>>Yes but I'm interested in a general measure for any scale. I'm
>>thinking of a function which can take a scale and an interval as
>>an input, and spit out the "extent" of the scale's symmetry at
>>that interval.
>
>Sounds good . . . for an MOS scale, it depends on how many
>generators make up the 3:2 . . . for example, any MIRACLE MOS
>will have 6 notes change when you transpose it by a 3:2.

I wonder if Gene, or somebody else with any knowledge of group
theory could help. Is there any notion like being 'partially
closed' under a certian transformations?

>>I don't use the word "omnitetrachordality" in my paper but the
>>concept is there.

Is there a place where you do use omnitetrachordality?

-Carl

🔗Paul Erlich <paul@stretch-music.com>

9/24/2001 3:23:54 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:
> >>Yes but I'm interested in a general measure for any scale. I'm
> >>thinking of a function which can take a scale and an interval as
> >>an input, and spit out the "extent" of the scale's symmetry at
> >>that interval.
> >
> >Sounds good . . . for an MOS scale, it depends on how many
> >generators make up the 3:2 . . . for example, any MIRACLE MOS
> >will have 6 notes change when you transpose it by a 3:2.
>
> I wonder if Gene, or somebody else with any knowledge of group
> theory could help.

Help how? Aren't we done?

> >>I don't use the word "omnitetrachordality" in my paper but the
> >>concept is there.
>
> Is there a place where you do use omnitetrachordality?

On the tuning list. It means the same thing as the property mentioned
in my paper.

🔗Carl Lumma <carl@lumma.org>

9/24/2001 4:15:52 PM

>>I wonder if Gene, or somebody else with any knowledge of group
>>theory could help.
>
>Help how? Aren't we done?

I won't speak for everybody else, but I'm not done before I have
a metric. Something that can return more than a boolean... as in,
"such-and-such scale in x % symmetrical at the 3:2", or something.

What makes sense here? I've got:

"The percentage of a scale's modes containing a 3/2, in which the
pattern of intervals generating scale degrees between 1/1 and 3/2
generates no pitches outside the scale when started at 3/2."

Which adds a modal aspect to the metric. But I wonder if there's
a raw measure of symmetry?

>>>I don't use the word "omnitetrachordality" in my paper but the
>>>concept is there.
>>
>>Is there a place where you do use omnitetrachordality?
>
>On the tuning list. It means the same thing as the property
>mentioned in my paper.

Cool. I've seen it on the lists. Just wondering if a Monzo
dictionary entry, or something, had been made.

-Carl

🔗Carl Lumma <carl@lumma.org>

9/24/2001 4:24:14 PM

I wrote...

> "The percentage of a scale's modes containing a 3/2, in which the
> pattern of intervals generating scale degrees between 1/1 and 3/2
> generates no pitches outside the scale when started at 3/2."
>
> Which adds a modal aspect to the metric... But I wonder if there's
> a raw measure of symmetry?

One try is to root each mode of the scale on a random pitch, then
mulitply all those pitches by 3:2, then count the number of
new pitches and divide by the number of notes in the scale.

-Carl

🔗Paul Erlich <paul@stretch-music.com>

9/24/2001 4:35:46 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:
> >>I wonder if Gene, or somebody else with any knowledge of group
> >>theory could help.
> >
> >Help how? Aren't we done?
>
> I won't speak for everybody else, but I'm not done before I have
> a metric. Something that can return more than a boolean... as in,
> "such-and-such scale in x % symmetrical at the 3:2", or something.
>
> What makes sense here?

How about the number of notes that stay the same, divided by the
total number? So for the diatonic scale, it's 6/7 . . . for
blackjack, 15/21 . . . for canasta, 25/31 . . . my decatonics would
be 4/5 . . . one can easily calculate this as

1-(number of generators in 3:2)/(number of notes).

🔗Paul Erlich <paul@stretch-music.com>

9/24/2001 4:37:02 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:

> One try is to root each mode of the scale on a random pitch, then
> mulitply all those pitches by 3:2, then count the number of
> new pitches and divide by the number of notes in the scale.

I don't see what the mode has to do with it. What changes when you
label one note as the root, as opposed to not doing so?

🔗Carl Lumma <carl@lumma.org>

9/24/2001 5:11:34 PM

>>One try is to root each mode of the scale on a random pitch, then
>>mulitply all those pitches by 3:2, then count the number of
>>new pitches and divide by the number of notes in the scale.
>
>I don't see what the mode has to do with it. What changes when you
>label one note as the root, as opposed to not doing so?

Quite possibly nothing... I'm cautious because I'm already thinking
through a layer of abstraction -- specifically, we don't actually
care about pitches moving (as we do for transpositional coherence),
we care about how much of an interval pattern is destroyed when we
_aren't_ allowed any new pitches. I'm trying to think if this is
really equivalent to counting the new pitches we'd need. I think
it is, but a lot of what I've thought has historically failed when
tested against "unusual" (improper, non-just) scales...

Assuming counting the changing pitches works, then we need to ask
if looking at a single mode, or even all the modes, is equivalent
to what we really care about. Namely, every possible interval
pattern in the scale is generated, transposed by a fifth, the number
of changing notes is divided by the length of the pattern in each
case, and then the whole lot of results is averaged.

-Carl

🔗genewardsmith@juno.com

9/24/2001 10:26:45 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:

> Which adds a modal aspect to the metric. But I wonder if there's
> a raw measure of symmetry?

Do you care about the relative proportions of the scale steps?

🔗manuel.op.de.coul@eon-benelux.com

9/25/2001 4:46:52 AM

Carl, how about the autocorrelation of the scale with its
transposition to the degree representing 3/2?
In Scala, look up the interval class for the nearest interval
to 3/2, do SHOW TRANSPOSE and look at the value for this
interval class.
It wouldn't be defined if the scale is not CS though, in any
case not if there's more than one i.c. for the fifth.
Or we can think further for a way to define it in that case
too, which may not be useful.

Manuel

🔗Carl Lumma <carl@lumma.org>

9/25/2001 1:04:31 PM

>> Which adds a modal aspect to the metric. But I wonder if there's
>> a raw measure of symmetry?
>
> Do you care about the relative proportions of the scale steps?

Not sure what you mean... sounds like the answer would be yes...
maybe an example would help make it clear.

-Carl

🔗Carl Lumma <carl@lumma.org>

9/25/2001 1:08:20 PM

> Carl, how about the autocorrelation of the scale with its
> transposition to the degree representing 3/2?
> In Scala, look up the interval class for the nearest interval
> to 3/2, do SHOW TRANSPOSE and look at the value for this
> interval class.

Don't really know what how autocorrelation is calculated. How
many lines of code does it take? You can take your pick between
posting sample code and attempting a verbal explanation.

> It wouldn't be defined if the scale is not CS though, in any
> case not if there's more than one i.c. for the fifth.
> Or we can think further for a way to define it in that case
> too, which may not be useful.

What I'm after here should definitely be independent of CS.

-Carl

🔗Paul Erlich <paul@stretch-music.com>

9/25/2001 1:34:15 PM

Carl, you and I independently came up with the same measure here, so
aren't we done? That is, once you realize that mode is irrelevant.

🔗genewardsmith@juno.com

9/25/2001 4:32:25 PM

--- In tuning-math@y..., "Carl Lumma" <carl@l...> wrote:

> > Do you care about the relative proportions of the scale steps?

> Not sure what you mean... sounds like the answer would be yes...
> maybe an example would help make it clear.

Suppose we look at 12-note scales of the form abababaababa, formed by
iterating fifths within octaves. We have 7 a and 5 b, and if we take
scale steps such that a=2, b=1, we get the 19 et, a=3, b=2 gives the
31 et, a=4 b=5 the 53 et, and a=5 b=4 the 55 et. One way of measuring
self-similarity would make all of these the same, however we could
also look at it in proportion to the average number of et intervals
making up a scale step. In all cases a shift of a fifth interchanges
an a and a b; for the 19-et that means an exchange of 2 and 1, in a
sitation where the average step size is 19/12, whereas for the 55-et
it is and exchange of 5 and 4 compared to an average size of 55/12;
both are an exchange of one et interval so we might measure the
goodness of the first by 12/19 and the second by 12/55.

This is related to the approximation of the fifth of the et by 7/12;
a standard measure here would measure the relative goodness of the
approximation to x by the reduced fraction p/q by q^2 |x - p/q|. If
we do this, we find 12^2 |7/12 - 11/19| = 12/19 and
12^2 |7/12 - 32/55| = 12/55, etc. If a scale of n steps is generated
from a single cycle of a generator in an m-et, this suggests
n^2 |a/n - b/m|, where b/m is the generator and a/n is what we might
call the scale-step generator, as a measure of self-similarity.

We can also adapt it to more than one cycle of the generator; for
instance a 12-cycle in the 22 et gives us 12^2 |7/12 - 13/22| = 12/11
as a measure of self-similarity, whereas if we have two cycles of six
tones a half-ocatave apart, we have two cyles each of which has a
self-similarity measure of 6^2 | 1/6 - 2/11| = 6/11, suggesting the
total self-similarity should be the same at 12/11.

🔗Carl Lumma <carl@lumma.org>

9/25/2001 4:38:52 PM

>Carl, you and I independently came up with the same measure here,
>so aren't we done? That is, once you realize that mode is
>irrelevant.

Yeah, we may be done. Just so long as nobody comes along and says
that the effect of a transposition on the entire scale doesn't
nec. represent the effects of transpositions on all of its subsets.

Also, I'm interested to find out how the autocorr. thing works in
Scala. And maybe gene has a group-theoretical way of looking at
it.

-Carl

🔗Carl Lumma <carl@lumma.org>

9/25/2001 5:40:25 PM

>Suppose we look at 12-note scales of the form abababaababa, formed
>by iterating fifths within octaves. We have 7 a and 5 b, and if we
>take scale steps such that a=2, b=1, we get the 19 et, a=3, b=2
>gives the 31 et, a=4 b=5 the 53 et, and a=5 b=4 the 55 et. One way
>of measuring self-similarity would make all of these the same,

All of these are the same under the measure Paul and I are pushing.

>however we could also look at it in proportion to the average number
>of et intervals making up a scale step. In all cases a shift of a
>fifth interchanges an a and a b; for the 19-et that means an
>exchange of 2 and 1, in a sitation where the average step size is
>19/12, whereas for the 55-et it is and exchange of 5 and 4 compared
>to an average size of 55/12; both are an exchange of one et interval
>so we might measure the goodness of the first by 12/19 and the
>second by 12/55.

Hmm... what would that do... this may be useful for comparing one
scale to another when they otherwise share the same value on the
measure Paul and I suggest (as in the example). In general, though,
I was after a way to compare a scale only with itself. So the
answer is, I don't care about the proportions.

>This is related to the approximation of the fifth of the et by
>7/12; a standard measure here would measure the relative goodness
>of the approximation to x by the reduced fraction p/q by
>q^2 |x - p/q|. If we do this, we find 12^2 |7/12 - 11/19| = 12/19
>and 12^2 |7/12 - 32/55| = 12/55, etc. If a scale of n steps is
>generated from a single cycle of a generator in an m-et, this
>suggests n^2 |a/n - b/m|, where b/m is the generator and a/n is
>what we might call the scale-step generator, as a measure of self-
>similarity.

Self-similarity? I'm not sure I'm making that connection. I
should warn you that I'm pretty slow when it comes to the
language of math. I can do simple algebra, but it takes me a
long time. I'm not afraid of it, but maybe I should be. That
sort of thing.

>We can also adapt it to more than one cycle of the generator; for
>instance a 12-cycle in the 22 et gives us 12^2 |7/12 - 13/22| =
>12/11 as a measure of self-similarity, whereas if we have two
>cycles of six tones a half-ocatave apart, we have two cyles each
>of which has a self-similarity measure of 6^2 | 1/6 - 2/11| = 6/11,
>suggesting the total self-similarity should be the same at 12/11.

Hrm. This sounds interesting, but I'm not sure how it relates
to symmetry at the 3:2. If I had to brute-force the problem, here's
how I'd do it:

() Tune up the scale.
() Find all the subset of it.
() Transpose each subset by a perfect 3:2.
() Measure how far outside of original complete scale
each trasposed subset is.
() Take the mean of these.

Keep in mind that I need to be able to look at scales which are
not MOS, not even a periodicity block at all. Is there a standard
way to measure partial symmetry? Come to think of it, how do we
even write normal octave equivalence for a non-PB? Write a seed,
and then a transformation?

-Carl

🔗manuel.op.de.coul@eon-benelux.com

9/26/2001 2:20:51 AM

This autocorrelation value measures the scale step similarity.
From the help file:

[...] the normalised autocorrelation values for the logarithmic
intervals between consecutive pitches. It is a measure how similar the
interval sequence is when the scale is transposed to the given key. A
value of 1.0 means identical, a value of 0.0 means no similarity.

So if P(i) is scale pitch i and S(i) is the step P(i)-P(i-1) and n the
number of notes and k the interval class representing the fifth,
then the autocorrelation for the scale step pattern is

n
sum S(i)*S((i+k) mod n)
i=1
------------------------
n
sum S(i)*S(i)
i=1

But apparently you want a more general measure.

>() Tune up the scale.
>() Find all the subset of it.
>() Transpose each subset by a perfect 3:2.
>() Measure how far outside of original complete scale
> each transposed subset is.
>() Take the mean of these.

The fourth step is unclear to me. What are you measuring if
the scale doesn't contain just fifths? What's the criterion
for deciding if the tones of the subsets are inside the
original scale or not?

Manuel

🔗Carl Lumma <carl@lumma.org>

9/26/2001 11:26:46 AM

>So if P(i) is scale pitch i and S(i) is the step P(i)-P(i-1) and
>n the number of notes and k the interval class representing the
>fifth, then the autocorrelation for the scale step pattern is
>
> n
> sum S(i)*S((i+k) mod n)
> i=1
> ------------------------
> n
> sum S(i)*S(i)
> i=1

Is S(i) a log-freq. size?

> But apparently you want a more general measure.

I'm not sure autocorr. is too special, but it breaks if there
isn't a well-behaved k for 3:2. Unlike propriety, and in
particular transpositional coherence, we don't care about the
mapping between scale intervals and acoustics here.

> >() Tune up the scale.
> >() Find all the subset of it.
> >() Transpose each subset by a perfect 3:2.
> >() Measure how far outside of original complete scale
> > each transposed subset is.
> >() Take the mean of these.
>
> The fourth step is unclear to me. What are you measuring if
> the scale doesn't contain just fifths? What's the criterion
> for deciding if the tones of the subsets are inside the
> original scale or not?

I left that intentionally vague, because there are many ways
to do it, none of which have any bearing on the point that
whatever procedure we use, it should be equivalent to looking
at all the subsets of the scale.

The two main families of #4 choices are:

4a; We allow appoximations of a 3:2 to be as good as a true
3:2 early on, and then only measure the relative change
in the pattern of scale steps after the transposition.
That's what Paul and I are working with so far.

4b; We consider things to get smoothly worse as distance from
the 3:2 increases, making comparisons in log-freq. space
at the end.

-Carl

🔗manuel.op.de.coul@eon-benelux.com

9/27/2001 2:29:12 AM

Carl wrote:
>Is S(i) a log-freq. size?

Yes.

And earlier:
>Namely, every possible interval
>pattern in the scale is generated, transposed by a fifth, the number
>of changing notes is divided by the length of the pattern in each
>case, and then the whole lot of results is averaged.

Is the fact that you want to give each subset equal weight the reason
for evaluating each subset?
And if you'd give each tone equal weight instead, wouldn't it be
necessary anymore to evaluate subsets?

Manuel

🔗Carl Lumma <carl@lumma.org>

9/27/2001 12:07:57 PM

> Is the fact that you want to give each subset equal weight the
> reason for evaluating each subset?

Yes.

> And if you'd give each tone equal weight instead, wouldn't it be
> necessary anymore to evaluate subsets?

As far as I can tell, giving each tone equal weight is equivalent
to giving each subset equal weight, sinc the set of all subsets
should have the same proportion of intervals as a single instance
of the complete scale.

-Carl

🔗Carl Lumma <carl@lumma.org>

9/27/2001 3:06:59 PM

Paul,

Looks like the measure we both came up with can be done in
Scala, like this:

() LOAD a scale, or make one
() use KEY to rotate the scale until a 3/2 shows up
() SHOW TRANSPOSE
() observe the row corresponding to the key with the 3/2
() observe the first number in the third column of that row
() divide that number by the number of tones in the scale

There's a problem, though. If there are different approx.
3:2's in the scale, you may get diff. results depending on
which row you observe from SHOW TRANSPOSE. It seems this
is a reason to go over to something like autocorrelation...
unfortunately, it enforces degree order (but it wouldn't
have to, right Manuel?).

Maybe SHOW DIFFERENCE can help:

>If the scales do not have the same number of notes, the amount
>compared is the maximum of the two scale sizes.

?

> /NEAREST
>
>Show the differences not between corresponding scale degrees but
>between the pitch of the current scale and its nearest counterpart
>in the given scale.

That sounds like what we want.

>At the end the number of pitches which are different is given

Ehhhxcellent. Manuel, there are a couple of precision variables
in Scala (TOLERANCE with SHOW LOCATIONS, for example). Does this
final number go through any of them?

-Carl

🔗manuel.op.de.coul@eon-benelux.com

9/28/2001 4:55:45 AM

>As far as I can tell, giving each tone equal weight is equivalent
>to giving each subset equal weight, sinc the set of all subsets
>should have the same proportion of intervals as a single instance
>of the complete scale.

Ah yes, that should be right.

Manuel

🔗manuel.op.de.coul@eon-benelux.com

9/28/2001 5:11:25 AM

>() use KEY to rotate the scale until a 3/2 shows up

Or use SHOW LOC 3/2 to see where one is right away.

>There's a problem, though. If there are different approx.
>3:2's in the scale, you may get diff. results depending on
>which row you observe from SHOW TRANSPOSE.

Yes it only looks for exactly corresponding intervals.

>It seems this
>is a reason to go over to something like autocorrelation...
>unfortunately, it enforces degree order (but it wouldn't
>have to, right Manuel?).

Then it probably needs a more complex definition. Perhaps an
average value for transpositions by a fifth starting on all
keys of the scale.

>>If the scales do not have the same number of notes, the amount
>>compared is the maximum of the two scale sizes.

Ah, that's unclear. What's meant is that the smaller scale is
implicitly octave-extended to the size of the larger scale.
So that's not what you want.

>Ehhhxcellent. Manuel, there are a couple of precision variables
>in Scala (TOLERANCE with SHOW LOCATIONS, for example). Does this
>final number go through any of them?

No.

Manuel

🔗Carl Lumma <carl@lumma.org>

9/28/2001 1:33:25 PM

>>It seems this is a reason to go over to something like
>>autocorrelation... unfortunately, it enforces degree
>>order (but it wouldn't have to, right Manuel?).
//
>Perhaps an average value for transpositions by a fifth
>starting on all keys of the scale.

Can you illustrate with an example?

>Then it probably needs a more complex definition.
//
> n
> sum S(i)*S((i+k) mod n)
> i=1
> ------------------------
> n
> sum S(i)*S(i)
> i=1

This is exactly what we want. Except, instead of comparing
the scale and its rotation to a degree near a 3:2, we compare
it with its transposition by an exact 3:2, simply taking the
lowest value for all rotations of the transposed version,
using a simple ordered pairing of intervals in each case.

n
sum S(i) * S(i')
i=1
-------------------
n
sum S(i)^2
i=1

...where i' is an interval from the transposed scale.

-Carl

🔗Carl Lumma <carl@lumma.org>

9/30/2001 12:57:12 AM

I wrote...

>> n
>> sum S(i)*S((i+k) mod n)
>> i=1
>> ------------------------
>> n
>> sum S(i)*S(i)
>> i=1
>
>This is exactly what we want. Except, instead of comparing
>the scale and its rotation to a degree near a 3:2, we compare
>it with its transposition by an exact 3:2, simply taking the
>lowest value for all rotations of the transposed version,

Did I say lowest value? I meant highest value, or 'best'
value. =1 means perfect correlation. Actually, isn't it
possible to get >1 ??

-Carl

🔗manuel.op.de.coul@eon-benelux.com

10/3/2001 6:40:56 AM

[me]
Perhaps an average value for transpositions by a fifth
starting on all keys of the scale.
[Carl]
Can you illustrate with an example?

Let's forget it, on second thought it was a bad idea.

>This is exactly what we want. Except, instead of comparing
>the scale and its rotation to a degree near a 3:2, we compare
>it with its transposition by an exact 3:2, simply taking the
>lowest value for all rotations of the transposed version,
>using a simple ordered pairing of intervals in each case.

Can _you_ illustrate with an example?

Manuel