back to list

The CPS blues...[combination product sets]

🔗Joseph Pehrson <josephpehrson@compuserve.com>

6/3/2000 3:58:55 PM

I want to thank Kraig Grady and Paul Erlich for all the nice CPS
mandalas I've been gazing at...

I'm lost.

I also read Kraig's 1/1 article from several years ago, with ROTATING
CPSes... kind of like the way Stravinsky ROTATED hexachords when he
wrote his "Variations, Aldous Huxley in Memoriam.."

What I'm not getting is this... it looks like the terms 3-7, 7-11
(there's a good one) are refering to LIMITS (??) not really ratios.

These are then "rotated" and SOMEHOW create audible ratios. I don't
have the foggiest idea how this is done. Are things just multiplied by
2 in some cases... Dunno.

THEN we have the question of Scala. I know that Scala can create CPS
scales rather "easily" if one knows what one is doing (ahem).

There is the "Number of factors" (What is that?? the "limit" of the
lattice??), and there is the "combination count"-- the "number of
factors in each product." Huh??

I'm not getting very far with this.

Finally, I'm totally confused about the difference between the nice
mandalas I've been staring at (no artificial stimulants, I promise you),
and, supposedly, SQUARE (well, rather, RECTANGULAR) lattices produced
somehow from the "Euler-Fokker" genera. What??

Does this mean that there is the addition of ANOTHER FACTOR, a 1, that
is giving another dimension and turning a triangle into a SQUARE
lattice?

Who wrote the "CPS for dummies" book?? Where is it??

I'm singing the CPS blues....
________________ ________ ___ __ _
Joseph Pehrson

🔗MANUEL.OP.DE.COUL@EZH.NL

6/5/2000 9:28:40 AM

Joseph,

For making an M-out-of-N CPS, you first give the N (Enter number of
factors:) and then the M (Enter combination count:).
An important thing to remember is that CPS's don't include a central
tone. Any tone from the set can be chosen as the 1/1. However a big
caveat with the CPS-command in Scala is that the 1/1 in the
resulting scale does not actually belong to the CPS and should be
deleted. This is on purpose (somebody might still like to keep it).
Here's an example. We'll create the 1.3.5.11 hexany on 1.11, the
scale file is hexany13.scl (12/11 5/4 15/11 3/2 20/11 2/1).
There are four factors: 1, 3, 5 and 11. A hexany is a 2-out-of-4 CPS
so enter this:
CPS
4
2
1
3
5
11
SHOW
0: 1/1 0.000
1: 3/1 1901.955
2: 5/1 2786.314
3: 11/1 4151.318
4: 15/1 4688.269
5: 33/1 6053.273
6: 55/1 6937.632
That doesn't look like it yet. We want to set the 1/1 to the 1.11 =
11/1 tone which is degree 3. However we first have to delete the
current 1/1, so do
DELETE 0
SHOW
0: 1/1 0.000
1: 5/3 884.359
2: 11/3 2249.363
3: 5/1 2786.314
4: 11/1 4151.318
5: 55/3 5035.677
Now what was degree 1 has become 0, so degree 3 is now degree 2.
We move the key to this degree by doing
MOVE/KEY 2
SHOW
0: 1/1 0.000
1: 3/11 -2249.363
2: 5/11 -1365.004
3: 15/11 536.951
4: 3/1 1901.955
5: 5/1 2786.314
We can't use the normal KEY command because this is not an octave
repeating scale yet. If we had done nothing here then the 1/1 would
have been the first combination, 1.3 = 3/1.
Now we make it octave repeating by doing
NORMALIZE 2/1
SHOW
0: 1/1 0.000
1: 12/11 150.637
2: 5/4 386.314
3: 15/11 536.951
4: 3/2 701.955
5: 20/11 1034.996
6: 2/1 1200.000
And there's the scale in hexany13.scl.
You can see the structure by doing
LATTICE/TRIANGULAR 3 5 11
hor > 3/1 - ver ^ 5/1 - hor >> 11/1

* * | * |
. * | 0 * |

A command file is included, cmd\cpsoct.cmd, to make an octave based
CPS. It assumes the 1/1 will be the first combination.
So, this approach is not ultimately user-friendly, let alone
didactically sound, but as general as possible. Note that the CPS's
factors don't have to be integer numbers and can be any cents value.

Something else, there is a new Linux version of Scala, version 1.61,
which runs under Red Hat 6.x. The previous one would only run under
5.x. Download at
ftp://ella.mills.edu/ccm/tuning/software/pc/scala/scala-1.61-linux.tar.gz

Manuel Op de Coul coul@ezh.nl

🔗Carl Lumma <CLUMMA@NNI.COM>

6/7/2000 8:57:33 AM

Manuel,

There doesn't seem to be a way to create stellated CPS's in Scala, yet
the scale archive contains files like steleiko.scl... Were those made
by hand?

-Carl

🔗Carl Lumma <CLUMMA@NNI.COM>

6/10/2000 7:02:29 PM

>>So, Daniel, stellation is only defined for an m-out-of-n CPS if n = m*2,
>>right?
>
>No -- sorry, I'm wrong about this. On page 3 of the "Letter to John
>Chalmers", Wilson indicates five possible solutions for a "stellated
>dekateserany". (All five are present in the stellated Eikosany.) It
>appears that the n=2m CPSs will each have single stellations while the
>non-2=2m CPSs will have m possible stellations.

Wow- I'd like to see that. There should be exactly one complete
stellation for every CPS, regardless the proportion of m and n.

How many tones would they have? That's an interesting question.
I don't suspect the answer would be in Pascal's triangle. For
CPS's with 2:1 m:n, I think the answer is as simple as t + s(c),
where t is the number of tones in the un-stellated structure, c
is the number of un-saturated chords in the CPS, and s is the
number of identities needed to saturate the CPS's basic chord.
The 14 tones of the stellated hexany make sense here; each of the
hexany's 8 triads needs 1 extra note. The something is different
with the 70 tones of the stellated eikosany, tho; each of its 30
tetrads needs 2 extra notes, giving 80, but according to Chalmers
the stellated 1*3*5*7*9*11 eik. has 70 notes. So either 10 notes
are redundant due to the composite 9-factor, or 10 points are
getting re-used somewhere and my formula is incorrect (which is
unlikely, since the chords of the CPS will already exploit the
maximum number of common-tone relations in prime-factor JI: 2).

For non-2:1-m:n CPS's, the answer is more difficult, since s is
not a constant.

-Carl

🔗Carl Lumma <CLUMMA@NNI.COM>

6/12/2000 6:48:48 PM

John- I think your 70-note structure is correct, since Scala "shows"
the "locations" of the correct number of chords.

>>How many tones would they have? That's an interesting question.
>>I don't suspect the answer would be in Pascal's triangle. For
>>CPS's with 2:1 m:n, I think the answer is as simple as t + s(c),
>>where t is the number of tones in the un-stellated structure, c
>>is the number of un-saturated chords in the CPS, and s is the
>>number of identities needed to saturate the CPS's basic chord.
>
>Carl, I think you mean "complete" and not "saturate" and "saturtated".

Hmm... how would they differ? I've always taken saturation to be the
point at which no tones could be added to a chord without increasing
its limit -- if that's right, I think my terminology here is okay.

>Anyway, as simple as that formula is, I think you can simplify it further.

I think the formula is elementary, but not simple, since it has three
variables. So far, it is nothing more than a way to explain how to do
the brute force method that John Chalmers mentions. I tried when I
made the post to simplify it, but was too sleepy.

>>(which is unlikely, since the chords of the CPS will already exploit
>>the maximum number of common-tone relations in prime-factor JI: 2).
>
>What's that last lemma, Lumma?

In a factor space built from a list of relatively-prime factors, no
two chords may share more than two points in common.

>>For non-2:1-m:n CPS's, the answer is more difficult, since s is
>>not a constant.
>
>I still am waiting for Daniel Wolf to reply to my post on that subject
>so that we can have a better sense of what these look like.

Ich auch. I'm not seeing the existence of multiple complete stellations.
Perhaps Erv was referring to possible incomplete stellations.

>triad out of the minor tetrad. Then come back to the Eikosany. If you
>want to "cheat", look at the factors that make up the notes of the
>Eikosany (3 factors for each note) -- each consonant otonal tetrad will
>have two factors in common to all notes (e.g., A*B*C, A*B*D, A*B*E,
>A*B*F), and each utonal tetrad will have two factors absent from all
>notes (e.g., A*B*C, A*B*D, A*C*D, B*C*D).
>
>Carl -- does that last hint for Joseph help you simplify your formula
>[t + s(c)] any further?

Hrm... We already know how to find t; my first thought was to find a way
to express c and/or s as something we know from t. But I don't see it
from your clue yet.

Since I first learned about CPSs, I've wanted a way to find the number
of notes in the basic chord of the CPS (which, in the case of the highly-
symmetrical CPSs, gives s when subtracted from the number of factors, n).

Here's a try for c:

c = tn/(n-s)

8 = 6*4/(4-1)
30 = 20*6/(6-2)
112 = 70*8/(8-3)

...which shows that the number of chords grows more quickly with respect
to the number of factors than with the tonality diamond. Anybody know if
there are 112 chords in the hebdomekontany?

-Carl

🔗Carl Lumma <CLUMMA@NNI.COM>

6/12/2000 8:55:14 PM

Okay, I'm ready to publish. Define the following variables:

M: combination count
N: number of factors

Tr: number of tones in the raw CPS, N!/M!(N-M)!
Co: cardinality of the basic otonal chord, 1+(N-M)
Cu: cardinality of the basic utonal chord, 1+M

So: number of tones needed to saturate the basic otonal chord, N-Co
Su: number of tones needed to saturate the basic utonal chord, N-Cu

No: number of basic otonal chords in the CPS, N!/So!(N-So)!
Nu: number of basic utonal chords in the CPS, N!/Su!(N-Su)!
[Thanks Paul!!]

Nb: number of basic chords in CPS, 2(Nu)
[mirror symmetry of Pascal 3-angle]

Ts: number of tones in the stellated CPS, Tr + (Nb(So+Su)/2)
[or: Tr + Nu(So+Su)]

Backing out and simplifying:

N! N!(N-2)
Ts= -------- + --------------
M!(N-M)! (N-M-1)!(M+1)!

[If the factors were not mutually prime, remove doubled pitches here.]

-Carl

🔗Paul Erlich <PERLICH@ACADIAN-ASSET.COM>

6/12/2000 10:08:55 PM

--- In tuning@egroups.com, Carl Lumma <CLUMMA@N...> wrote:
> John- I think your 70-note structure is correct, since Scala "shows"
> the "locations" of the correct number of chords.
>
>
> >>How many tones would they have? That's an interesting question.
> >>I don't suspect the answer would be in Pascal's triangle. For
> >>CPS's with 2:1 m:n, I think the answer is as simple as t + s(c),
> >>where t is the number of tones in the un-stellated structure, c
> >>is the number of un-saturated chords in the CPS, and s is the
> >>number of identities needed to saturate the CPS's basic chord.
> >
> >Carl, I think you mean "complete" and not "saturate"
and "saturtated".
>
> Hmm... how would they differ? I've always taken saturation to be
the
> point at which no tones could be added to a chord without increasing
> its limit -- if that's right, I think my terminology here is okay.

Carl, look at (and feel free to criticize) the definitions in the
Tuning Dictionary. So the difference is that chords like 10:12:15:18
are saturated at the 9-limit but not a complete 9-limit otonality or
utonality.

I'll have to get to the other stuff later.

🔗MANUEL.OP.DE.COUL@EZH.NL

6/13/2000 2:54:30 AM

Carl wrote:

: N! N!(N-2)
: Ts= -------- + --------------
: M!(N-M)! (N-M-1)!(M+1)!

If I apply this to the 1)4 tetrany, the outcome is 4+12=16.
This is when all 6 dyads are completed to tetrads.
But I think another way to stellate it is to complete the 4 triads
to tetrads. Then the number of tones is 4+4=8.
Your formula gives 4+2=6 tones for the 3)4 tetrany, so it's not
symmetrical between M and N-M, is that correct?

Manuel Op de Coul coul@ezh.nl

🔗Carl Lumma <CLUMMA@NNI.COM>

6/13/2000 5:49:49 PM

[Manuel wrote...]
>> N! N!(N-2)
>> Ts= -------- + --------------
>> M!(N-M)! (N-M-1)!(M+1)!
>
>If I apply this to the 1)4 tetrany, the outcome is 4+12=16.
>This is when all 6 dyads are completed to tetrads.

To utonal tetrads, right. All the basic otonal chords (a total of 1)
are already complete.

>But I think another way to stellate it is to complete the 4 triads
>to tetrads.

There are octahedra in the way.

>Then the number of tones is 4+4=8.

You're counting tones already present in the un-stellated CPS.

>Your formula gives 4+2=6 tones for the 3)4 tetrany, so it's not
>symmetrical between M and N-M, is that correct?

I believe you've found an error in my post...

>>Nb: number of basic chords in CPS, 2(Nu)
>> [mirror symmetry of Pascal 3-angle]
>>
>>Ts: number of tones in the stellated CPS, Tr + (Nb(So+Su)/2)
>> [or: Tr + Nu(So+Su)]
>>
>>Backing out and simplifying:
>>
>> N! N!(N-2)
>>Ts= -------- + --------------
>> M!(N-M)! (N-M-1)!(M+1)!

The Nb step is wrong. The total number of basic chords will be the same
for m)n and n-m)n CPSs, but the distribution of otonal and utonal chords
will be different, except when m/n = 2/1. Therefore...

Tr + (Nb(So+Su)/2)

...works only for m/n = 2/1 CPS's. We can fix it. Ignore the Nb line
from my original post, and change the Ts line to...

Tr + No(So) + Nu(Su)

I got this down to...

N! N! N!
------- + -------------- + ------------
M!(N-M)! (M-2)!(1+N-M)! (N-M-2)!(1+M)!

...but it looks like we're facing some negative factorials. I also tried
expressing it as a single fraction, but got some nasty polynomials. But
my algebra is embarrassingly bad.

Thanks for your reply!

-Carl