Paul wrote:

> > Yes, the 11- and 15-limits are riddled with them. There's even one

> that

> > divides the octave into 29 equal parts! 4.7 cents for the 15-

> limit, only

> > needs 1 generator, needing 30 for a complete chord? Mighty

> strange, but

> > it does mean you can use it with two manuals tuned to 29-equal a

> generator

> > apart. As I've shown before that 29-equal works quite well mapped

> to

> > Halberstadt, this is far from arbitrary.

>

> My proposal of two 12-equal keyboards 15 cents apart must look pretty

> good in the 5-limit, yes?

Doesn't make the list, but only extremely accurate temperaments do in the

5-limit.

I think the 29+ one should be more complex than that. I'm calculating the

number of steps for a chord as the number of generators to the most

complex interval times the number of equivalence intervals plus one. I

think the addition should be done before the multiplication, but I think

that makes the octave-splitting ones look worse than they really are.

This particular one looks much better, though. I'll try and sort it out

in the morning.

I've changed the scoring which alters the 11 and 15-limit ordering. This

was to balance the 9-limit for simplicity rather than accuracy.

The program and output files should be at

<http://x31eq.com/temper.html> by now.

Graham

--- In tuning-math@y..., graham@m... wrote:

> The program and output files should be at

> <http://x31eq.com/temper.html> by now.

>

Excuse me if I'm misunderstanding, but isn't your top 11-limit

generator, "11/113", just the MIRACLE generator?

--- In tuning-math@y..., graham@m... wrote:

> The program and output files should be at

> <http://x31eq.com/temper.html> by now.

On that page it says,

"I've written a Python script to systematically find equal

temperaments consistent within a given prime limit."

You mean odd limit, right?

Paul Erlich wrote:

> Excuse me if I'm misunderstanding, but isn't your top 11-limit

> generator, "11/113", just the MIRACLE generator?

Yes, with the new scoring system. It's also bottom of the 9-limit and

around the middle of the 7-limit.

The scoring could still do with some tweaking, to ensure the best

temperaments make the list. The real challenge will be removing the

octave invariance.

Graham

I've half-updated the stuff at

<http://x31eq.com/temper.html>

mostly to clean up the code. Also temperaments that too complex or

inaccurate get left out, which stops the 5-limit being swamped by

impractical temperaments.

On the question of the number of notes needed for a complete chord.

Properly, for an equal number of generators to each equivalence interval,

the formula should be (d+1)*n where d is the generator and n is the

number of divisions of an octave. For the strangest example (now top of

the 15-limit list!) which needs 29 equivalence intervals and 1 generator,

this gives 58 notes.

However, you get 29 different complete chords within those notes. So the

temperament is much more efficient than one with an equivalence interval

of an octave that requires 58 notes to get a complete chord.

For that simple case, you get a new complete chord with each new note. So

the number of notes to a complete chord tells you how many you'll get with

however many notes are in the MOS. The equivalent measure where the

equivalence interval is a division of the octave is d*n+1, which is what

my program uses.

In some cases, like that 29 step octave, it gives somewhat eccentric

results. But I think a human looking at the data can use their

intelligence to work this out, instead of expecting the dumb computer to

produce a magic number that explains it all.

If you're curious, you could try looking through the 7- and 9-limit lists.

There are some interesting scales in there I haven't seen before, along

with some old friends.

The magic connection between Miracle and diaschismic I had in mind is that

they both have a generator of a semitone, approximating 16:15. This is

the same but different to the connection between schismic and diaschismic

(single and double-positive).

For the following discussion I'll use "formal octave" for the interval we

choose to stand in for an octave, and "equivalence interval" for the MOS

parameter that will be a fraction of the formal octave.

To get the program to work for inharmonic timbres, you need to express all

intervals in terms of the formal octave. This shouldn't be difficult to

do. But how do you get the formal octave? That is our next challenge.

One approach would be to extend Dave Keenan's brute force to try all

generators and equivalence intervals. This is probably too complex for a

spreadsheet, but should be easy enough as a program. The problem is that

it'd need quadratic time to check all combinations. For checking an

octave to 0.1 cents precision, that's 144 million combinations. Okay,

less than that, because the generator doesn't have to be greater than the

equivalence interval. But we still have a lot of combinations. It

wouldn't be efficient, but it would work. I don't think I'll try this,

but somebody should. I'll have a go at the more complex method below.

The first step is to get hold of all the ranges of consistent ETs for the

intervals we're looking at. Paul Erlich has already done this for the

traditional limits. The best way is probably brute force. It'd take a

while but nowhere near as long as brute forcing the linear temperaments.

I think the linear temperaments can still be expressed in step sizes for

any pair of temperaments. The challenge is getting at the formal octave.

Optimising the tuning and assessing the complexity will be harder

otherwise. Because schismic and Miracle temperaments can work with

different equivalence intervals, there's obviously no unique way of

getting an equivalence interval when you know the temperament.

The first step would be to express each temperament using an arbitrary

formal octave, probably the first one in the list of prime intervals.

Then we can use that specification to weed out duplicates for when we come

to the hard work. This would mean taking each consonant interval for a

formal octave, and seeing which ones work best.

So, what makes a good formal octave? It's tempting to say it should be a

prime, rather than derived, interval. But schismic works with a fourth

and Miracle with a fifth, so that obviously won't work. Perhaps we only

need to check combinations of the first few prime intervals, assuming them

to be the most important. But can we be sure this is always sufficient?

A post on the practical microtonality list (I don't have the reference,

sorry) did suggest deliberately choosing poor consonances for formal

octaves. So we will probably have to have a lot of freedom in how the

choice is made.

Other factors are that the scale should have a "nice" number and pattern

of notes to its formal octave. I'm not sure how to express this for an

open ended temperament.

There we go, ideas are welcome.

Graham

--- In tuning-math@y..., graham@m... wrote:

> The scoring could still do with some tweaking, to ensure the best

> temperaments make the list. The real challenge will be removing the

> octave invariance.

What do you mean by this? Do you mean you want to find MA errors

at an N+1 integer limit instead of N odd limit when the octave is

tempered too?

--- In tuning-math@y..., graham@m... wrote:

> On the question of the number of notes needed for a complete chord.

...

Ah yes. I see your point. So how about simply using n*d, the number of

generators in a complete chord. Its a more useful number. If you want

to know how many complete otonalities you get for N notes, it's simply

N - n*d.

> If you're curious, you could try looking through the 7- and 9-limit

lists.

> There are some interesting scales in there I haven't seen before,

along

> with some old friends.

It would be a lot easier to recognise any old friends if you had your

program express the basis as "N chains of G cent generators".

> For the following discussion I'll use "formal octave" for the

interval we

> choose to stand in for an octave, and "equivalence interval" for the

MOS

> parameter that will be a fraction of the formal octave.

This is too confusing. How about we use the term "period" instead of

"equivalence interval". If you thing that might be confused with a

time period you could call it the "log period", but notice that we

already use it in this way, without the "log" qualifier, in the term

"periodicity block".

> To get the program to work for inharmonic timbres, you need to

express all

> intervals in terms of the formal octave. This shouldn't be

difficult to

> do. But how do you get the formal octave? That is our next

challenge.

I'm personally not very interested in that completely general case

just yet. Most inharmonic timbres are short lived and so coinciding

partials isn't all that important.

I'd be more interested in the cases where the period is a

whole-number fraction of another highly consonant (harmonic) interval,

such as the BP 1:3, or 1:4, 2:3, 1:5, 1:6, 2:5, 3:4 etc.

And even more interested in the case where we stick to fractions of a

real octave but allow the octave to be tempered and use N+1 integer

limits in place of N odd-limits.

-- Dave Keenan

--- In tuning-math@y..., graham@m... wrote:

> Okay,

> less than that, because the generator doesn't have to be greater

than the

> equivalence interval.

The generator doesn't have to be greater than _half_ the period

(equivalence interval). But yes, it's still O(n^2).

Dave Keenan wrote:

> --- In tuning-math@y..., graham@m... wrote:

> > The scoring could still do with some tweaking, to ensure the best

> > temperaments make the list. The real challenge will be removing the

> > octave invariance.

>

> What do you mean by this? Do you mean you want to find MA errors

> at an N+1 integer limit instead of N odd limit when the octave is

> tempered too?

I mean taking an arbitrary set of intervals and finding some generators

and periods that fit them.

Graham

Dave Keenan wrote:

> --- In tuning-math@y..., graham@m... wrote:

> > On the question of the number of notes needed for a complete chord.

> ...

>

> Ah yes. I see your point. So how about simply using n*d, the number of

> generators in a complete chord. Its a more useful number. If you want

> to know how many complete otonalities you get for N notes, it's simply

> N - n*d.

Equally useful, they're only 1 note apart. Originally I was using n*d for

the scoring anyway.

> > If you're curious, you could try looking through the 7- and 9-limit

> lists.

> > There are some interesting scales in there I haven't seen before,

> along

> > with some old friends.

>

> It would be a lot easier to recognise any old friends if you had your

> program express the basis as "N chains of G cent generators".

Uh, yeah, sometime. You'll have to convert from octaves for now, or hack

the code yourself (Python's really easy to learn, you can download the

interpreter)

> > For the following discussion I'll use "formal octave" for the

> interval we

> > choose to stand in for an octave, and "equivalence interval" for the

> MOS

> > parameter that will be a fraction of the formal octave.

>

> This is too confusing. How about we use the term "period" instead of

> "equivalence interval". If you thing that might be confused with a

> time period you could call it the "log period", but notice that we

> already use it in this way, without the "log" qualifier, in the term

> "periodicity block".

Okay.

> > To get the program to work for inharmonic timbres, you need to

> express all

> > intervals in terms of the formal octave. This shouldn't be

> difficult to

> > do. But how do you get the formal octave? That is our next

> challenge.

>

> I'm personally not very interested in that completely general case

> just yet. Most inharmonic timbres are short lived and so coinciding

> partials isn't all that important.

How about bells? My wok makes some good sound if I thwack it right as

well.

I don't think the harmonic series has many more surprises for us. It was

worth a look to make sure we hadn't overlooked any Miracles, but I think

the program already shows that. The 15-limit temperaments are too complex

for me right now, and there's no point in finding them again.

You could try it with different sets of intervals, but that's really easy,

no more programming.

One thing is it might be good for the program to recognize scales that

approximate a subset of the intervals you gave it.

Thinking about it, for the non-octave case, we don't even need a

brute-force search for ETs. So long as we only take consistent ones, we

can choose an arbitrary formal octave and do the same search as currently.

It may be best to choose a large interval for that formal octave, as

there may be more than one consistent ET that divides a small interval

into the same number of steps.

> I'd be more interested in the cases where the period is a

> whole-number fraction of another highly consonant (harmonic) interval,

> such as the BP 1:3, or 1:4, 2:3, 1:5, 1:6, 2:5, 3:4 etc.

So long as you choose the interval first, that should be easy. You need

to specify each prime direction in terms of that interval. Something

like:

newprimes = []

for interval in primes:

newprimes.append(newprimes/pitchOfFormalOctave)

where primes is a list of the intervals in terms of octaves (current

standard) and pitchOfFormalOctave is the pitch of this interval you chose

in octaves (log2(3) for 3:1).

> And even more interested in the case where we stick to fractions of a

> real octave but allow the octave to be tempered and use N+1 integer

> limits in place of N odd-limits.

I don't really care what happens after the linear temperament's found.

The program can be hacked for that easily enough. If you have an

algorithm for the optimization, it can be added as a method like

optimizeMinimax.

Graham

--- In tuning-math@y..., graham@m... wrote:

> Dave Keenan wrote:

> > It would be a lot easier to recognise any old friends if you had

your

> > program express the basis as "N chains of G cent generators".

>

> Uh, yeah, sometime. You'll have to convert from octaves for now, or

hack

> the code yourself (Python's really easy to learn, you can download

the

> interpreter)

I'm getting too old for that. I've had to learn so many new

programming languages (and GUI libraries) in my life that I'm heartily

sick of it.

I had a hard time recognising Paultone among your top-10 7-limit

generators.

I think there's a bug in your MA optimiser. In the case where one or

more intervals is purely a multiple of the period (zero generators)

you need to either give a _range_ for the optimum generator, or

preferably eliminate the zero-generator intervals from the

optimisation.

If you do that you should get 109.36 cents (not 111.04) for Paultone.

> I don't really care what happens after the linear temperament's

found.

> The program can be hacked for that easily enough. If you have an

> algorithm for the optimization, it can be added as a method like

> optimizeMinimax.

Not by me. How about giving us the top-tens ranked according to RMS

error times (n*d)^2, generators in cents.

-- Dave Keenan

Doesn't the fact that meantone, (the single most popular 5-limit

temperament of all time), doesn't even make the top-ten, mean that

there is something very wrong with our figure of demerit?

D.KEENAN@UQ.NET.AU (Dave Keenan) wrote:

> Doesn't the fact that meantone, (the single most popular 5-limit

> temperament of all time), doesn't even make the top-ten, mean that

> there is something very wrong with our figure of demerit?

>

You're out of date. It's this one:

66/157

basis:

(1.0, 0.419517976278)

mapping:

([1, 0], ([2, 4], [-1, -4]))

^^^^^^

primeApprox:

([88, 69], [(139, 109), (204, 160)])

highest interval width: 4

notes required: 5

highest error: 0.004480 (5.377 cents)

The list I point to is the easiest way of showing that it's meantone. A

third is four fifths.

The figure of demerit isn't perfect but, now the really useless

temperaments are excluded, it's good enough to bring the interesting ones

into the 10. You can change that to 20 if you don't trust it.

Graham

--- In tuning-math@y..., graham@m... wrote:

> The magic connection between Miracle and diaschismic I had in mind

is that

> they both have a generator of a semitone, approximating 16:15.

Well, I usually think of diaschismic as having a ~3:2 generator and a

half-octave "by-generator". But yes, replacing the ~3:2 with an

approximate 16:15 is equivalent.

> This is

> the same but different to the connection between schismic and

diaschismic

> (single and double-positive).

The same but different . . . pretty cryptic!

>

> For the following discussion I'll use "formal octave" for the

interval we

> choose to stand in for an octave, and "equivalence interval" for

the MOS

> parameter that will be a fraction of the formal octave.

>

> To get the program to work for inharmonic timbres, you need to

express all

> intervals in terms of the formal octave. This shouldn't be

difficult to

> do. But how do you get the formal octave? That is our next

challenge.

There's only one interval that sounds like a repetition of the same

pitch to humans and other mammals. It's pretty close to 2:1.

>

> I think the linear temperaments can still be expressed in step

sizes for

> any pair of temperaments. The challenge is getting at the formal

octave.

Still?

> Optimising the tuning and assessing the complexity will be harder

> otherwise. Because schismic and Miracle temperaments can work with

> different equivalence intervals,

Really?

> there's obviously no unique way of

> getting an equivalence interval when you know the temperament.

>

> The first step would be to express each temperament using an

arbitrary

> formal octave, probably the first one in the list of prime

intervals.

> Then we can use that specification to weed out duplicates for when

we come

> to the hard work. This would mean taking each consonant interval

for a

> formal octave, and seeing which ones work best.

You've lost me.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> I had a hard time recognising Paultone among your top-10 7-limit

> generators.

Holy $#!% -- totally missed that. And how did MIRACLE end up on the

_bottom_ for 9-limit?

>

> I think there's a bug in your MA optimiser.

MA optimization is hard. Go with RMS.

> In the case where one or

> more intervals is purely a multiple of the period (zero generators)

> you need to either give a _range_ for the optimum generator, or

> preferably eliminate the zero-generator intervals from the

> optimisation.

>

> If you do that you should get 109.36 cents (not 111.04) for

Paultone.

Yes.

> Not by me. How about giving us the top-tens ranked according to RMS

> error times (n*d)^2, generators in cents.

>

Good idea.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> Doesn't the fact that meantone, (the single most popular 5-limit

> temperament of all time), doesn't even make the top-ten, mean that

> there is something very wrong with our figure of demerit?

Very wrong. Very, very wrong.

--- In tuning-math@y..., graham@m... wrote:

> D.KEENAN@U... (Dave Keenan) wrote:

>

> > Doesn't the fact that meantone, (the single most popular 5-limit

> > temperament of all time), doesn't even make the top-ten, mean

that

> > there is something very wrong with our figure of demerit?

> >

>

> You're out of date.

Oh, OK! So where is it in the 5-limit ranking now?

> It's this one:

>

>

> 66/157

>

How is this approximation decided upon? What makes it 66/157 and not

some more or less complex approximation?

Paul Erlich wrote:

> --- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

>

> > I had a hard time recognising Paultone among your top-10 7-limit

> > generators.

>

> Holy $#!% -- totally missed that. And how did MIRACLE end up on the

> _bottom_ for 9-limit?

It's moved up now.

> > I think there's a bug in your MA optimiser.

>

> MA optimization is hard. Go with RMS.

I used that algorithm *because* it's easy. If you have another one, write

the code and plug it in.

> > In the case where one or

> > more intervals is purely a multiple of the period (zero generators)

> > you need to either give a _range_ for the optimum generator, or

> > preferably eliminate the zero-generator intervals from the

> > optimisation.

> >

> > If you do that you should get 109.36 cents (not 111.04) for

> Paultone.

>

> Yes.

AIUI, this wouldn't affect the minimax. So does it matter?

> > Not by me. How about giving us the top-tens ranked according to RMS

> > error times (n*d)^2, generators in cents.

> >

> Good idea.

Well, go on and implement it.

Sorry if this sounds dismissive, but I would like to get some music

written today.

Graham

Paul wrote:

> > You're out of date.

>

> Oh, OK! So where is it in the 5-limit ranking now?

<counts> 5. The files should be on the website, and not have changed

since Saturday night (my time).

>

> > It's this one:

> >

> >

> > 66/157

> >

> How is this approximation decided upon? What makes it 66/157 and not

> some more or less complex approximation?

The temperaments are chosen from pairs of consistent ETs. To prevent

duplicates, more complex temperaments always overwrite simpler ones with

the same mapping. The program's searching ETs from 1 to 99, and so the

most complex meantone pair is 88 and 69.

This is something that should be fixed, to give a simpler default and all

the versions in a detailed list, but I haven't done so yet.

Graham

--- In tuning-math@y..., graham@m... wrote:

>

> AIUI,

??

>this wouldn't affect the minimax. So does it matter?

Yup -- the 6:5 and 5:3 are kinda hairy at your value.

> Sorry if this sounds dismissive, but I would like to get some music

> written today.

Yay! By the way, your Blackjack chord progression totally blew away

and inspired Joseph Pehrson. You should take this as a sign that

you're on the right track!

Paul wrote:

> There's only one interval that sounds like a repetition of the same

> pitch to humans and other mammals. It's pretty close to 2:1.

That isn't what I found by playing the Bohlen-Pierce and O'Connell scales

with the matching timbres. I'll keep looking for alternative periods

until my ears tell me otherwise.

Graham

paul@stretch-music.com (Paul Erlich) wrote:

> > AIUI,

>

As I Understand It

> >this wouldn't affect the minimax. So does it matter?

>

> Yup -- the 6:5 and 5:3 are kinda hairy at your value.

But I'm only doing the optimization in order to compare temperaments. The

way I'm doing it is good enough for that. The real tuning would only

become important if you actually wanted to play one of the things, which

would require sufficient effort that you could work out the optimum then.

I can do my own optimization by ear when it comes to that.

One think I don't think I've mentioned yet. Where the period is an

octave, your "miraculous" property (more complete chords than notes) is

present whenever there's a tonality diamond, isn't it? It's 2n+1 notes

required each time. So we have a theorem:

Any MOS containing a tonality diamond will have at least as many complete

chords (otonal and utonal) as notes.

> > Sorry if this sounds dismissive, but I would like to get some music

> > written today.

>

> Yay!

Actually, that was more desperation than resolution. I went out for a

walk after that, dropped in at the office to listen to some MP3s, haven't

got anything written on the holiday, although I do still like the stuff I

recorded yesterday.

The things you mention can be done. When I next look at the program I'll

implement them. But you might be able to work it out anyway with the code

and an interpreter. You don't need to know the language, just use a bit

of pattern recognition.

Optimising for inharmonic timbres with a perfect octave will be easy. The

only assumption made is that you'll have "prime" and "derived" intervals.

If all intervals are prime (no consonance is a combination of other

consonances) consistency isn't defined, so it defaults to brute force for

the ETs but might still work. Searching inharmonic timbres for a given

formal octave is straightforward too. It's only feeding in an arbitrary

set of intervals and saying "give me a period and generator" that isn't

defined.

> By the way, your Blackjack chord progression totally blew away

> and inspired Joseph Pehrson. You should take this as a sign that

> you're on the right track!

That's good. One of the things I listened to was that piece of his played

by Johnny Reinhard. I think he's somebody really worth inspiring.

Graham

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> --- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> > Doesn't the fact that meantone, (the single most popular 5-limit

> > temperament of all time), doesn't even make the top-ten, mean that

> > there is something very wrong with our figure of demerit?

>

> Very wrong. Very, very wrong.

When I wrote the above I hadn't got around to converting all Graham's

decimal octaves into something I could understand. Here they are.

Min Gens

Num of MA per Figure

chains Gen err compl of

per oct (cents)(cents) otonal demerit

---------------------------------------

15-limit

29 15.93 4.7 29 3948

1 497.24 10.0 23 5269

1 351.71 7.8 28 6089

3 83.02 2.8 48 6426

1 497.89 4.8 37 6619

2 83.16 3.1 52 8431

1 83.42 6.4 38 9190

1 116.72 5.0 45 10111

1 234.41 5.8 42 10162

2 165.81 3.9 52 10575

11-limit

1 116.72 3.3 22 1608

2 183.21 2.4 30 2168

2 216.74 3.1 30 2747

1 271.14 9.3 17 2693

29 16.37 3.7 29 3124

2 83.25 2.9 34 3302

1 193.24 2.8 35 3417

1 310.20 5.4 25 3404

1 585.14 4.1 29 3454

2 165.21 5.1 26 3472

9-limit

1 380.39 5.9 12 853

1 497.81 4.3 16 1109

1 351.45 1.9 25 1188

1 503.42 10.8 10 1075

1 116.72 3.3 19 1200 miracle

2 108.77 17.5 8 1119

1 316.76 2.7 22 1322

2 92.21 19.5 8 1248

1 251.71 20.5 8 1314

1 271.62 5.3 17 1544

7-limit

1 193.87 1.4 16 366

1 116.59 2.4 13 410 miracle

1 271.14 4.3 11 516

1 503.42 5.4 10 538

1 310.20 5.4 10 545

1 77.76 4.6 12 662

2 111.04 17.5 6 630 paultone

1 316.99 17.8 6 643

1 380.39 5.9 12 853

1 232.19 5.4 13 909

5-limit

1 498.26 0.2 9 18 schismic?

1 316.99 1.4 6 49 kleismic

1 387.74 1.4 8 92

1 271.56 1.0 10 101

1 503.42 5.4 4 86 meantone

1 442.92 1.5 9 121

2 105.21 3.3 6 117 disachismic

1 380.39 5.9 5 148

3 84.36 13.7 3 123

1 176.26 3.1 9 249

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> ... By the way, your Blackjack chord progression totally

> blew away and inspired Joseph Pehrson.

Me too!!!! I could tell by looking at it that I simply

*had* to hear it... that's exactly why *I* made the audio file!

Just wish I currently had a polyphonic keyboard to map it

too, so that I could play around with it too. (well, I'd use

Canasta instead...) Pretty soon...

-monz

http://www.monz.org

"All roads lead to n^0"

This follows from

/tuning-math/message/59

I listed the temperaments in the order that Graham ranked them but I

gave a different figure-of-demerit. I used the MA error times the

square of the max number of notes giving zero complete otonal chords

(instead MA error times square of min number of notes giving one

complete otonal chord).

You will notice that, for 5-limit, meantone is 5th on Graham's ranking

and 3rd on mine.

At the 7-limit, Miracle is 2nd on both rankings, but Paultone is 6th

on mine, 7th on Graham's. The single chain 125 c generator that I

posted many months ago doesn't make it into the top ten by Grahams

ranking, but probably would on mine.

I think that, before we start writing a paper re Miracle, we should

spend some time fine-tuning our figure of demerit (FoD) so that

meantone ends up on top of the 5-limit list. Then I will have more

confidence that we haven't missed something that is even better than

Miracle at the 7 and 11 limits.

First I'd like to confirm that squaring numbers of notes is entirely

justified by the fact that this is proportional to a number of

_intervals_. By using a number one less than Graham was using, I'm

favouring scales with fewer notes, a little more.

In thinking about why other stuff, that is obvious junk, is beating

meantone, I came up with two ideas.

(a) We need some melodic factor(s) in our FoD

(b) There is a critical range of errors. Errors greater than that

range might as well be infinite. Errors less than that range, might as

well be zero (or might as well be equal to the bottom of the range).

(a) One crude way of taking melodic efficiency (not Rothenberg's) into

account would be to use the (square of the) number of notes in the

smallest proper MOS that contains a complete otonality, instead of

merely the (square of the) number of notes (of any propriety) that

contain a complete otonality.

(b) Although one doesn't like to have too many free parameters in

these models, I think the parameter we need here is the same one that

informs harmonic entropy; i.e. the standard deviation of the

probability-of-recognition curve (or whatever it is called).

Instead of multiplying by the raw error in cents, whether it be MA or

RMS, I think we should divide by the probability of recognition of

such an error. i.e. exp(-(error/std_error)^2). We should do two runs;

one for the average listener and one for the critical listener. Paul I

think the values you use correspond to std_errors of about 17c and 10c

respectively. Is that right?

Graham, whenever you have time, I'd be very interested in the top 10's

using the above FoD (MA and RMS making 4 runs in total). If you need

more explanation of how to calculate these numbers, don't hesitate to

ask.

But maybe folks can suggest other psychoacoustically justifiable FoD's

that might give the right answer for meantone.

Regards,

-- Dave Keenan

Notice how 16.6 cents (approx one step of 72-EDO) is by far the best

"generator generator". i.e. the vast majority of top-10 generators are

very close to a multiple of it. I haven't figured out what the others

are a multiple of.

In-Reply-To: <9ev4ed+ntv4@eGroups.com>

monz wrote:

> --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

>

> /tuning-math/message/56

>

> > ... By the way, your Blackjack chord progression totally

> > blew away and inspired Joseph Pehrson.

>

>

> Me too!!!! I could tell by looking at it that I simply

> *had* to hear it... that's exactly why *I* made the audio file!

>

> Just wish I currently had a polyphonic keyboard to map it

> too, so that I could play around with it too. (well, I'd use

> Canasta instead...) Pretty soon...

Which progression are we talking about here? The one I worked out by

improvising and posted notation and an MP3 for, or the one I worked out on

the lattice to show it could handle a particular acoustic equivalence?

Graham

In-Reply-To: <9evi4u+e5pu@eGroups.com>

In article <9evi4u+e5pu@eGroups.com>, D.KEENAN@UQ.NET.AU (Dave Keenan)

wrote:

> Notice how 16.6 cents (approx one step of 72-EDO) is by far the best

> "generator generator". i.e. the vast majority of top-10 generators are

> very close to a multiple of it. I haven't figured out what the others

> are a multiple of.

If you look down my tables, you should see which were produced using

72-equal.

Graham

In-Reply-To: <9evhgg+5rf0@eGroups.com>

Dave Keenan wrote:

> This follows from

> /tuning-math/message/59

>

> I listed the temperaments in the order that Graham ranked them but I

> gave a different figure-of-demerit. I used the MA error times the

> square of the max number of notes giving zero complete otonal chords

> (instead MA error times square of min number of notes giving one

> complete otonal chord).

>

> You will notice that, for 5-limit, meantone is 5th on Graham's ranking

> and 3rd on mine.

>

> At the 7-limit, Miracle is 2nd on both rankings, but Paultone is 6th

> on mine, 7th on Graham's. The single chain 125 c generator that I

> posted many months ago doesn't make it into the top ten by Grahams

> ranking, but probably would on mine.

Oh, I thought the difference would be the other way.

> I think that, before we start writing a paper re Miracle, we should

> spend some time fine-tuning our figure of demerit (FoD) so that

> meantone ends up on top of the 5-limit list. Then I will have more

> confidence that we haven't missed something that is even better than

> Miracle at the 7 and 11 limits.

I don't know about that, it sounds suspiciously like fixing the experiment

to get the right results. We've got everything we need to write the

paper. The icing on the cake would be a first rate piece of music using

the ideas. But I don't think anything now could disprove the usefulness

of that scale to me.

And let's forget 9-limit. I think schismic *is* better there.

> First I'd like to confirm that squaring numbers of notes is entirely

> justified by the fact that this is proportional to a number of

> _intervals_. By using a number one less than Graham was using, I'm

> favouring scales with fewer notes, a little more.

>

> In thinking about why other stuff, that is obvious junk, is beating

> meantone, I came up with two ideas.

> (a) We need some melodic factor(s) in our FoD

> (b) There is a critical range of errors. Errors greater than that

> range might as well be infinite. Errors less than that range, might as

> well be zero (or might as well be equal to the bottom of the range).

Yes, I thought about that. There should be a curve that levels off at the

normal range and gets dramatically worse as the error or number of notes

gets larger. But you could always choose the curve to favour particular

scales, so it's arbitrary.

You can get the "right" answer by choosing a critical error range, and

taking the simplest temperament that comes within it.

> (a) One crude way of taking melodic efficiency (not Rothenberg's) into

> account would be to use the (square of the) number of notes in the

> smallest proper MOS that contains a complete otonality, instead of

> merely the (square of the) number of notes (of any propriety) that

> contain a complete otonality.

Could be. That should be doable when I start walking the scale tree. I

don't know if it'd improve anything. (Other than favour octave periods.)

> (b) Although one doesn't like to have too many free parameters in

> these models, I think the parameter we need here is the same one that

> informs harmonic entropy; i.e. the standard deviation of the

> probability-of-recognition curve (or whatever it is called).

>

> Instead of multiplying by the raw error in cents, whether it be MA or

> RMS, I think we should divide by the probability of recognition of

> such an error. i.e. exp(-(error/std_error)^2). We should do two runs;

> one for the average listener and one for the critical listener. Paul I

> think the values you use correspond to std_errors of about 17c and 10c

> respectively. Is that right?

>

> Graham, whenever you have time, I'd be very interested in the top 10's

> using the above FoD (MA and RMS making 4 runs in total). If you need

> more explanation of how to calculate these numbers, don't hesitate to

> ask.

I couldn't optimize the RMS right now. I did energy minimization at

University, probably the same ideas could be used. A steepest descent

would be the first thing to do, but I couldn't sit down and start coding

that. And there is the possibility it'll get stuck in a local minimum.

Another way would be to walk the scale tree, turning towards the lower

value, like a continued fraction. This might also hit a local minimum.

> But maybe folks can suggest other psychoacoustically justifiable FoD's

> that might give the right answer for meantone.

The value of meantone is it's musical usefulness. It gives you a simple

way of approximating the consonances without them being too bad. I don't

know how you objectify that. The original algorithm gave loads of really

complex temperaments that gave really good approximations that are way

beyond what we wanted.

One thing is to use fewer ETs to work out the temperaments in the first

place.

Graham

In-Reply-To: <9evhgg+5rf0@eGroups.com>

Dave Keenan wrote:

> Instead of multiplying by the raw error in cents, whether it be MA or

> RMS, I think we should divide by the probability of recognition of

> such an error. i.e. exp(-(error/std_error)^2). We should do two runs;

> one for the average listener and one for the critical listener. Paul I

> think the values you use correspond to std_errors of about 17c and 10c

> respectively. Is that right?

>

> Graham, whenever you have time, I'd be very interested in the top 10's

> using the above FoD (MA and RMS making 4 runs in total). If you need

> more explanation of how to calculate these numbers, don't hesitate to

> ask.

I've updated the files at <http://x31eq.com/temper.html> with a

few changes:

Simpler ETs are listed.

The +1 is taken out for measuring complexity.

The size of generator in cents is shown.

The minimax function should ignore octave-divisions as suggested, although

I'm not sure it's working.

getFigureOfDemerit has been added, to make this easier to change. You can

get it to work using the suggestion above by commenting out the last line

in the function and uncommenting the one before.

If that's too difficult for you, the results are at

<http://x31eq.com/limit5.exp>

<http://x31eq.com/limit7.exp>

<http://x31eq.com/limit9.exp>

<http://x31eq.com/limit11.exp>

<http://x31eq.com/limit15.exp>

It does make meantone the best 5-limit temperament. It leaves Miracle as

the best 11-limit, but doesn't treat it well otherwise.

Graham

--- In tuning-math@y..., "monz" <joemonz@y...> wrote:

> --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

>

> /tuning-math/message/56

>

> > ... By the way, your Blackjack chord progression totally

> > blew away and inspired Joseph Pehrson.

>

>

> Me too!!!! I could tell by looking at it that I simply

> *had* to hear it... that's exactly why *I* made the audio file!

You deserve a lot of credit also for the voice-leading (which Joseph

and I meticulously reproduced on the keyboard) and for such a good

choice of timbre.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> (a) One crude way of taking melodic efficiency (not Rothenberg's)

into

> account would be to use the (square of the) number of notes in the

> smallest proper MOS that contains a complete otonality, instead of

> merely the (square of the) number of notes (of any propriety) that

> contain a complete otonality.

Exactly what I was thinking (with a generalized definition of

MOS) . . . and of course, the more complete otonalities, the better.

>

>Paul I

> think the values you use correspond to std_errors of about 17c and

10c

> respectively. Is that right?

Yes, that's right. You should throw a 4-5¢ case in there as well for

people interested in beating (which is totally unrelated to harmonic

entropy).

--- In tuning-math@y..., graham@m... wrote:

> Which progression are we talking about here? The one I worked out

by

> improvising and posted notation and an MP3 for, or the one I worked

out on

> the lattice to show it could handle a particular acoustic

equivalence?

>

>

> Graham

The latter. I must have missed the former -- where it it?

----- Original Message -----

From: Paul Erlich <paul@stretch-music.com>

To: <tuning-math@yahoogroups.com>

Sent: Tuesday, May 29, 2001 1:08 PM

Subject: [tuning-math] Re: Temperament program issues

> --- In tuning-math@y..., "monz" <joemonz@y...> wrote:

> > --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> >

> > /tuning-math/message/56

> >

> > > ... By the way, your Blackjack chord progression totally

> > > blew away and inspired Joseph Pehrson.

> >

> >

> > Me too!!!! I could tell by looking at it that I simply

> > *had* to hear it... that's exactly why *I* made the audio file!

>

> You deserve a lot of credit also for the voice-leading (which Joseph

> and I meticulously reproduced on the keyboard) and for such a good

> choice of timbre.

Wow, Paul, thanks! So the stuff I learned in school had

a point behind it after all! ;-)

-monz

http://www.monz.org

"All roads lead to n^0"

_________________________________________________________

Do You Yahoo!?

Get your free @yahoo.com address at http://mail.yahoo.com

I don't think it's essential to make meantone look like the best 5-

limit linear temperament. Meantone is important for other reasons,

outside the scope of this program:

One of the first MOSs with complete chords is the diatonic scale. The

diatonic scale has identical tetrachords in every octave species -- a

very important melodic property. The diatonic scale allows both the

complete utonalities and the complete otonalities to come from a

single pattern in the scale -- something only my 7-limit decatonic

scales share. The diatonic scale has been the basis of musical

composition and notation back in the 3-limit era, when Pythagorean

tuning was the norm, and 5-limit practice _evolved_ from this, rather

than being a new creation. Etc, etc . . .

> If that's too difficult for you, the results are at

>

> <http://x31eq.com/limit5.exp>

> <http://x31eq.com/limit7.exp>

> <http://x31eq.com/limit9.exp>

> <http://x31eq.com/limit11.exp>

> <http://x31eq.com/limit15.exp>

>

I looked at the 7-limit results and they're fascinating. While I

don't see paultone, I see a 5/11 oct. generator with a half-octave

interval of repetition. So 22-tET should work very well for it. Can

you talk about the structure of this scale at all?

Graham wrote:

>If that's too difficult for you, the results are at ...

Thanks for doing that Graham. Much appreciated.

Here's how to calculate the notes per octave of the smallest MOS containing

a complete otonality. In pseudo Pascal.

Given period p and generator g (both in octaves) and

w as the width of the complete otonality (in generators).

r := g/p

m_prev := 0

m := 1

WHILE m <= w DO

i := INT(r)

r := 1/(r-i)

temp := m

m := m*i + m_prev

m_prev := temp

return m/p

Regards,

-- Dave Keenan

Brisbane, Australia

http://dkeenan.com

In-Reply-To: <9f166e+2vcv@eGroups.com>

Paul Erlich wrote:

> I looked at the 7-limit results and they're fascinating. While I

> don't see paultone, I see a 5/11 oct. generator with a half-octave

> interval of repetition. So 22-tET should work very well for it. Can

> you talk about the structure of this scale at all?

There was a bug in the program when I generated the exp files. The

routine for optimizing the minimax was ignoring octave-divisions, and this

got reflected in the scoring. I don't think it affected the top of any of

the lists, but that's how this scale got in.

5/11, 274.511 cent generator

basis:

(0.5, 0.22875937481971093)

mapping by period and generator:

([2, 0], ([5, 6, 7], [-4, -3, -3]))

mapping by steps:

([18, 4], [(29, 6), (42, 9), (51, 11)])

highest interval width: 4

complexity measure: 8 (10 for smallest MOS)

highest error: 0.014573 (17.488 cents)

The period is 7:5, like for diaschismic. So the max error is for that

7:5. You'll probably find it has good approximations to the rest of the

7-limit. It's also consistent with 26=, so can be generated from 22 and

26 and will have been in previous charts as this. Here's how you prove

that:

>>> import temper

>>> tuning = temper.Temperament(22,26,temper.primes[:3])

>>> tuning.mapping

([5, 6, 7], [-4, -3, -3])

Calling it 18r+4s, we have

3:2 => 11r+2s

5:4 => 6r+s

7:4 => 15r+3s

7:8 => 3r+s

r r r r s r r r r r s r r r r s r r r r r s

1 7 6 5 7 3 7

- - - - - - -

1 6 5 4 5 2 4

I think that's right. r=1/22 or 1/26, s=1/22 or 2/26.

Graham

In-Reply-To: <3.0.6.32.20010530034550.00a72d90@uq.net.au>

Dave Keenan wrote:

> Here's how to calculate the notes per octave of the smallest MOS

> containing

> a complete otonality. In pseudo Pascal.

I've updated that. It's showing 22 as a schismic MOS, which is wrong.

Graham

--- In tuning-math@y..., graham@m... wrote:

> In-Reply-To: <3.0.6.32.20010530034550.00a72d90@u...>

> Dave Keenan wrote:

>

> > Here's how to calculate the notes per octave of the smallest MOS

> > containing

> > a complete otonality. In pseudo Pascal.

>

> I've updated that. It's showing 22 as a schismic MOS, which is

wrong.

I disagree. I think it's correct. With a period of an octave won't any

generator in the range 489 to 492 cents generate a proper MOS? 490.9 c

will give you 22-EDO itself which is certainly a proper MOS (albeit a

boring one melodically). Although 22-EDO has a half-ocatve it is still

a single chain of fifths within the octave.

Regards,

-- Dave Keenan

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> --- In tuning-math@y..., graham@m... wrote:

> > In-Reply-To: <3.0.6.32.20010530034550.00a72d90@u...>

> > Dave Keenan wrote:

> >

> > > Here's how to calculate the notes per octave of the smallest

MOS

> > > containing

> > > a complete otonality. In pseudo Pascal.

> >

> > I've updated that. It's showing 22 as a schismic MOS, which is

> wrong.

>

> I disagree. I think it's correct. With a period of an octave won't

any

> generator in the range 489 to 492 cents generate a proper MOS?

490.9 c

> will give you 22-EDO itself which is certainly a proper MOS (albeit

a

> boring one melodically). Although 22-EDO has a half-ocatve it is

still

> a single chain of fifths within the octave.

But it's not _schismic_!

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> --- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> > --- In tuning-math@y..., graham@m... wrote:

> > > In-Reply-To: <3.0.6.32.20010530034550.00a72d90@u...>

> > > Dave Keenan wrote:

> > >

> > > > Here's how to calculate the notes per octave of the smallest

> MOS

> > > > containing

> > > > a complete otonality. In pseudo Pascal.

> > >

> > > I've updated that. It's showing 22 as a schismic MOS, which is

> > wrong.

> >

> > I disagree. I think it's correct. With a period of an octave won't

> any

> > generator in the range 489 to 492 cents generate a proper MOS?

> 490.9 c

> > will give you 22-EDO itself which is certainly a proper MOS

(albeit

> a

> > boring one melodically). Although 22-EDO has a half-ocatve it is

> still

> > a single chain of fifths within the octave.

>

> But it's not _schismic_!

Ok. So what are the generator and period we are talking about here.

The algorithm doesn't take "schismic" as input.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

Ok. Pardon my ignorance. I looked up Schismic on Graham's website.

It's what I call simply Pythagorean. A 498 cent generator with an

octave period.

My Excel implementation of the algorithm gives

Proper MOS sequence:

1

2

5

12

41

53

So I agree. 22 shouldn't be there.

Either I've given the algorithm wrongly in Pseudo-Pascal or Graham's

implemented it wrongly. Probably the former. I'll have a look when I

get the time.

-- Dave Keenan

I goofed. It should have been (changes shown with *):

Given period p and generator g (both in octaves) and

w as the width of the complete otonality (in generators).

r := g/p

i := INT(r) *

m_prev := 0

m := 1

WHILE m <= w DO

r := 1/(r-i) *

i := INT(r) *

temp := m

m := m*i + m_prev

m_prev := temp

return m/p

Here's a trace for a schismic generator of 498 cents.

g = 0.415

p = 1

r = 0.415

i = 0

m_prev = 0

m = 1

iteration 1

r = 2.410

i := 2

temp = 1

m = 2

m_prev = 1

iteration 2

r = 2.441

i = 2

temp = 2

m = 5

m_prev = 2

iteration 3

r = 2.267

i = 2

temp = 5

m = 12

m_prev = 5

iteration 4

r = 3.750

i = 3

temp = 12

m = 41

m_prev = 12

etc.

Regards,

-- Dave Keenan

Brisbane, Australia

http://dkeenan.com

In-Reply-To: <3.0.6.32.20010531002941.00a80540@uq.net.au>

Dave Keenan wrote:

> Given period p and generator g (both in octaves) and

> w as the width of the complete otonality (in generators).

>

> r := g/p

> i := INT(r) *

> m_prev := 0

> m := 1

>

> WHILE m <= w DO

> r := 1/(r-i) *

> i := INT(r) *

> temp := m

> m := m*i + m_prev

> m_prev := temp

>

> return m/p

Right, here's my method with a bit of debugging code:

def getSmallestContainingMOS(self, consonances=None):

consonances = consonances or self.consonances

width = self.getWidestInterval(consonances)[0]

print "generator=%s"%self.basis[1]

print "period=%s"%self.basis[0]

ratio = self.basis[1]/self.basis[0]

i = int(ratio)

print str(locals())

mPrev = 0

m = 1

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

mPrev, m = m, m*i + mPrev

print str(locals())

return m*self.octaveDivision

So that should be the same

> Here's a trace for a schismic generator of 498 cents.

>

> g = 0.415

> p = 1

> r = 0.415

> i = 0

> m_prev = 0

> m = 1

> iteration 1

> r = 2.410

> i := 2

> temp = 1

> m = 2

> m_prev = 1

> iteration 2

> r = 2.441

> i = 2

> temp = 2

> m = 5

> m_prev = 2

> iteration 3

> r = 2.267

> i = 2

> temp = 5

> m = 12

> m_prev = 5

> iteration 4

> r = 3.750

> i = 3

> temp = 12

> m = 41

> m_prev = 12

So, for this temperament it gives, with cleaned up output:

>>> reload(temper)

<module 'temper' from 'temper.py'>

>>> tuning = temper.Temperament(12,29,temper.primes[:2])

>>> tuning.setConsonanceLimit(temper.limit5)

>>> tuning.optimizeMinimax()

>>> tuning.getSmallestContainingMOS()

generator=0.415218399352

period=1.0

{'ratio': 0.4152183993518006,

'consonances': [(0, 0), (1, 0), (0, 1), (-1, 1)],

'width': 9, 'i': 0}

{'m': 2, 'i': 2, 'mPrev': 1,

'ratio': 2.4083711164079067,

'width': 9}

{'m': 5,

'i': 2,

'mPrev': 2,

'ratio': 2.448753008773366,

'width': 9}

{'m': 12,

'i': 2,

'mPrev': 5,

'ratio': 2.2283973153370669

'width': 9}

12

I think that's equivalent. Anyway, the answer's 12, which is more like

it. So I'll update the main stuff to show this.

Graham

--- In tuning-math@y..., graham@m... wrote:

> Right, here's my method with a bit of debugging code:

...

> I think that's equivalent.

Yes. Looks good.

> Anyway, the answer's 12, which is more

> like it. So I'll update the main stuff to show this.

Note that the algorithm I gave does not necessarily give the smallest

containing MOS, but it gives the smallest containing strictly-proper-MOS.

i.e. It only calculates the denominators of the _convergents_ of the ratio,

not the _semi-convergents_ which correspond to improper MOS.

See http://depts.washington.edu/pnm/CLAMPITT.pdf

Actually, I have no proof of this correspondence, only the lack of a

counterexample.

Here's the algorithm modified to return the smallest containing MOS, and

tell you whether it is strictly proper.

def getSmallestContainingMOS(self, consonances=None):

consonances = consonances or self.consonances

width = self.getWidestInterval(consonances)[0]

ratio = self.basis[1]/self.basis[0]

i = int(ratio)

mPrev, m = 0, 1

n = i

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

mPrev, m = m, mPrev + m

n = 1

while (n < i) & (m <= width):

m = m + mPrev

n = n+1

strictlyProper = (n == i)

return m*self.octaveDivision, strictlyProper

Alternatively, you might prefer to have it return both the smallest

containing MOS and the smallest strictly-proper containing MOS.

def getSmallestContainingMOS(self, consonances=None):

consonances = consonances or self.consonances

width = self.getWidestInterval(consonances)[0]

ratio = self.basis[1]/self.basis[0]

i = int(ratio)

mPrev, m = 0, 1

smallest = 1

n = i

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

mPrev, m = m, mPrev + m

if (m > width) & (smallest == 1):

smallest = m

n = 1

while (n < i):

m = m + mPrev

if (m > width) & (smallest == 1):

smallest = m

n = n+1

return smallest*self.octaveDivision, m*self.octaveDivision

You're gonna have to correct my syntax for sure.

I think the following is equivalent.

def getSmallestContainingMOS(self, consonances=None):

consonances = consonances or self.consonances

width = self.getWidestInterval(consonances)[0]

ratio = self.basis[1]/self.basis[0]

i = int(ratio)

mPrev, m = 0, 1

smallest = 1

n = i

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

mPrev, m = m, mPrev

n = 0

repeat:

m = m + mPrev

if (m > width) & (smallest == 1):

smallest = m

n = n+1

until n >= i

return smallest*self.octaveDivision, m*self.octaveDivision

Regards,

-- Dave Keenan

Brisbane, Australia

http://dkeenan.com

In-Reply-To: <3.0.6.32.20010531092055.00a85990@uq.net.au>

Dave Keenan wrote:

> Note that the algorithm I gave does not necessarily give the smallest

> containing MOS, but it gives the smallest containing

> strictly-proper-MOS.

> i.e. It only calculates the denominators of the _convergents_ of the

> ratio,

> not the _semi-convergents_ which correspond to improper MOS.

We don't want to reject Blackjack as an MOS, do we?

> See http://depts.washington.edu/pnm/CLAMPITT.pdf

>

> Actually, I have no proof of this correspondence, only the lack of a

> counterexample.

It looks like it works.

> You're gonna have to correct my syntax for sure.

Both examples run. The only quibbles are:

It'd be better to use and than &.

There are no brackets round the condition of the first while loop, so they

aren't needed for the other one either.

> I think the following is equivalent.

...

> repeat:

> m = m + mPrev

> if (m > width) & (smallest == 1):

> smallest = m

> n = n+1

> until n >= i

>

> return smallest*self.octaveDivision, m*self.octaveDivision

Only the repeat...until had to be converted for this, and it's the one I

left active after uploading.

Although it gives good, quick data, I don't think we should be returning

two results. It'll cause confusion later on. The best thing would be to

have a condition on input to do the check or not. Hopefully, this would

avoid duplication of code.

Does

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

if mustBeStrictlyProper:

mPrev, m = m, m*i + mPrev

else:

mPrev, m = m, mPrev

n = 0

while 1:

m = m + mPrev

if m > width and smallest == 1:

smallest = m

n = n+1

if n >= i: break

look right?

In fact, couldn't that inner loop be

for n in range(i):

m = m + mPrev

if m > width and smallest == 1:

smallest = m

looping n from 0 to i? There also seems to be a redundant n=i in there.

Ah, wouldn't have worked before because you were testing n at the end.

Right I think this is the thing:

def getSmallestContainingMOS(

self, consonances=None, mustBeStrictlyProper=0):

"""Dave Keenan's Algorithm"""

consonances = consonances or self.consonances

width = self.getWidestInterval(consonances)[0]

ratio = self.basis[1]/self.basis[0]

i = int(ratio)

mPrev, m = 0, 1

while m <= width:

ratio = 1/(ratio-i)

i = int(ratio)

if mustBeStrictlyProper:

mPrev, m = m, m*i + mPrev

else:

mPrev, m = m, mPrev

for n in range(i):

m = m + mPrev

if m > width:

return m*self.octaveDivision ###

return m*self.octaveDivision

But I haven't uploaded it because you get more information in the txt

files the other way.

Graham

--- In tuning-math@y..., graham@m... wrote:

> In-Reply-To: <3.0.6.32.20010531092055.00a85990@u...>

> Dave Keenan wrote:

>

> > Note that the algorithm I gave does not necessarily give the

smallest

> > containing MOS, but it gives the smallest containing

> > strictly-proper-MOS.

> > i.e. It only calculates the denominators of the _convergents_ of

the

> > ratio,

> > not the _semi-convergents_ which correspond to improper MOS.

>

> We don't want to reject Blackjack as an MOS, do we?

There's no question that Blackjack is a MOS. But it doesn't contain a

hexad so its a moot point and you'll get 31 for the 11-limit MOS

whether you insist it be proper or not. But of course Blackjack does

contain complete otonalities at odd-limits lower than 11. Really we

want to see both sets of generator rankings (those where we insist it

be proper and those where we don't).

Note that because we are dealing with generators which are irrational

fractions of an octave, we don't have to worry about the distinction

between proper and strictly-proper. No generator will ever be

precisely on the borderline, i.e. merely-proper. However you should be

aware that this algorithm, if fed rational generators, may include the

merely-proper with either the improper, or the strictly-proper,

depending on floating point precision.

Did you spot the unintentional almost-pun above. "_dealing_ with

generators" in Blackjack and Canasta. :-)

> > repeat:

> > m = m + mPrev

> > if (m > width) & (smallest == 1):

> > smallest = m

> > n = n+1

> > until n >= i

> >

> > return smallest*self.octaveDivision, m*self.octaveDivision

>

> Only the repeat...until had to be converted for this, and it's the

one I

> left active after uploading.

>

> Although it gives good, quick data, I don't think we should be

returning

> two results. It'll cause confusion later on. The best thing would

be to

> have a condition on input to do the check or not. Hopefully, this

would

> avoid duplication of code.

Yes. I agree with this approach.

> Right I think this is the thing:

>

>

> def getSmallestContainingMOS(

> self, consonances=None, mustBeStrictlyProper=0):

> """Dave Keenan's Algorithm"""

>

> consonances = consonances or self.consonances

> width = self.getWidestInterval(consonances)[0]

>

> ratio = self.basis[1]/self.basis[0]

> i = int(ratio)

>

> mPrev, m = 0, 1

> while m <= width:

> ratio = 1/(ratio-i)

> i = int(ratio)

>

> if mustBeStrictlyProper:

> mPrev, m = m, m*i + mPrev

>

> else:

> mPrev, m = m, mPrev

>

> for n in range(i):

> m = m + mPrev

> if m > width:

> return m*self.octaveDivision ###

>

> return m*self.octaveDivision

Yes. That looks to be correct.

So where are the results of the latest runs and what is your ranking

based on now?

Is the current Figure of Demerit (FoD) the size of smallest MOS (of

any propriety) containing a complete otonality, divided by the

probability of misrecognition of the MA error with a standard error of

10 cents?

Could you give the values of the parameters at the top of the output

file (MA versus RMS, MOS versus any, strictly proper MOS versus any

MOS, standard error). And could you give the actual FoD for each

generator so we can see _how_much_ better some generator might be than

its runner-ups?

I'm sure you can knock up a simple numerical min RMS finder to give

you the RMS optimium generator within say 0.01 c. Take an initial

estimate of the generator, calculate the RMS errors for generators

0.01 cents on either side. Figure out which direction reduces the RMS

error. Head downhill in increments of 0.01 cents until the error

increases again. Return the generator and RMS error before last.

Regards,

-- Dave Keenan

Note that the current implementation of this algorithm may fail with a

divide by zero error or a floating-point overflow with a generator

that is a rational fraction of the period. It should probably check

for the case where i and r differ by some really tiny amount and exit.

But maybe this will never happen with any "real" generators.

In-Reply-To: <9f6tbt+q4km@eGroups.com>

Dave Keenan wrote:

> So where are the results of the latest runs and what is your ranking

> based on now?

They're at <http://x31eq.com/temper.html> where they always

were. The ranking is how it always was, as I didn't get explicit

instructions on that, but it shows the outputs from your function.

At this point I add that if you got the interpreter and code you could try

whatever rankings you wanted without having to bounce them through the

list every time.

One thing you can do, and maybe I should add an example, is supply your

own cmp function to sort() instead of using the built-in comparisons.

Then you can do multiple runs with different FoDs. It may even be

possible to supply a custom FoD interactively.

I'm also thinking of getting it to automatically upload the results by

FTP. That would make it a lot easier to spew out a load of different

results.

> Is the current Figure of Demerit (FoD) the size of smallest MOS (of

> any propriety) containing a complete otonality, divided by the

> probability of misrecognition of the MA error with a standard error of

> 10 cents?

No, but I could do that.

> Could you give the values of the parameters at the top of the output

> file (MA versus RMS, MOS versus any, strictly proper MOS versus any

> MOS, standard error). And could you give the actual FoD for each

> generator so we can see _how_much_ better some generator might be than

> its runner-ups?

I could do that.

> I'm sure you can knock up a simple numerical min RMS finder to give

> you the RMS optimium generator within say 0.01 c. Take an initial

> estimate of the generator, calculate the RMS errors for generators

> 0.01 cents on either side. Figure out which direction reduces the RMS

> error. Head downhill in increments of 0.01 cents until the error

> increases again. Return the generator and RMS error before last.

Yes, but that wouldn't avoid local minima. In the 15-limit I think these

may be a problem. It'd also likely overrun my lunch hour (again) if I did

all these things.

Graham

--- In tuning-math@y..., graham@m... wrote:

> In-Reply-To: <9f6tbt+q4km@e...>

> Dave Keenan wrote:

>

> > So where are the results of the latest runs and what is your

ranking

> > based on now?

>

> They're at <http://x31eq.com/temper.html

So under 7-limit, I presume this refers to my decatonic:

2/11, 111.043 cent generator

basis:

(0.5, 0.092535859554517375)

mapping by period and generator:

([2, 0], ([3, 5, 6], [1, -2, -2]))

mapping by steps:

([12, 10], [(19, 16), (28, 23), (34, 28)])

highest interval width: 3

complexity measure: 6 (8 for smallest MOS)

highest error: 0.014573 (17.488 cents)

Can you explain where you're getting 8 for smallest MOS? There are

MOSs with 2, 4, 6, 8 notes, but 10 is the first proper one . . . how

is complexity measure defined now?

P.S. If you're using propriety for anything, I'd chuck it in favor of

CS.

In-Reply-To: <9f8ggf+60hs@eGroups.com>

Paul wrote:

> So under 7-limit, I presume this refers to my decatonic:

>

> 2/11, 111.043 cent generator

>

> basis:

> (0.5, 0.092535859554517375)

>

> mapping by period and generator:

> ([2, 0], ([3, 5, 6], [1, -2, -2]))

>

> mapping by steps:

> ([12, 10], [(19, 16), (28, 23), (34, 28)])

>

> highest interval width: 3

> complexity measure: 6 (8 for smallest MOS)

> highest error: 0.014573 (17.488 cents)

Looks like it.

> Can you explain where you're getting 8 for smallest MOS? There are

> MOSs with 2, 4, 6, 8 notes, but 10 is the first proper one . . . how

> is complexity measure defined now?

Dunno, it's Dave's formula. I'm not sure why you only get one MOS there:

it should have given both proper and improper at the time you wrote.

> P.S. If you're using propriety for anything, I'd chuck it in favor of

> CS.

Do you have the algorithm?

The files are updated now to use only the don't-care-about-propriety

version. It also does the ranking using it. And I've added a

metafunction so that you can easily plug in a new figure of demerit.

Plus the FTP code so I can easily upload the changes.

Graham

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> So under 7-limit, I presume this refers to my decatonic:

>

> 2/11, 111.043 cent generator

Yes. So it appears Graham has reverted to including intervals which

are purely a multiple of the period, when calculating the MA optimum

generator. It needs to include these when giving the actual MA error,

but not when finding the optimum generator. Bu this is a minor detail.

> Can you explain where you're getting 8 for smallest MOS? There are

> MOSs with 2, 4, 6, 8 notes, but 10 is the first proper one . . . how

> is complexity measure defined now?

8 is the smallest MOS that contains a complete otonality (or

utonality).

"complexity measure" (perhaps not a good name since it is completely

unrelated to harmonic complexity) is the max number of notes (not necc

MOS) that contain zero complete otonalities. You get an otonality for

every note after that. It's the width of the otonality in generators

times the number of chains in the octave.

> P.S. If you're using propriety for anything, I'd chuck it in favor

of

> CS.

Good idea. We now have a simple algorithm that, given the generator

and period and width of an otonality, will give us the size of either

the smallest MOS containing one, or the smallest strictly-proper MOS

containing one.

Can you write us a CS recogniser that, when given the generator,

period and the number of notes in each chain, will say yea or nay? And

we'll slot it in.

Here's a wild idea that my mathematical intuition just popped up.

Could it be that a MOS is CS if and only if it is either

strictly-proper (denom of convergent) or it is either the first or

last in a series of improper MOS (denoms of semiconvergents) between

two strictly-proper MOS. Is Miracle-11 CS? I guess this idea is wrong

because you implied that 8 of paultone in not CS.

-- Dave Keenan

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

>I guess this idea is wrong

> because you implied that 8 of paultone in not CS.

I think I implied wrong!

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> --- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

>

> >I guess this idea is wrong

> > because you implied that 8 of paultone in not CS.

>

> I think I implied wrong!

You'll let us know when you're sure, won't you?

Here's part of the MOS-cardinality series for the 380 cent generator

approx 6/19 oct (single chain).

3 (4 7 10 13 16) 19

3 and 19 are strictly proper. Can you tell us which of those in

between are CS? I'm not very familiar with CS.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> Here's part of the MOS-cardinality series for the 380 cent generator

> approx 6/19 oct (single chain).

>

> 3 (4 7 10 13 16) 19

>

> 3 and 19 are strictly proper. Can you tell us which of those in

> between are CS? I'm not very familiar with CS.

It seems from

http://www.ixpres.com/interval/dict/constant.htm

that Carl Lumma was briefly seduced into thinking that all MOS are CS,

or rather that a CS was a family of MOS scales with a particular

property (which seems to be simply having the same generator) rather

than a single scale with a particular property (i.e. for all intervals

available in a scale, all instances of that interval are subtended by

the same number of scale steps).

Can someone give me an example of a MOS that is not CS?

Ok. Try this:

All MOS whose generator is an irrational fraction of their period, are

CS.

If I take the generator to be say

1 + 6*phi

---------- oct ~= 380.8191213102 cents

3 + 19*phi

Then I find MOS of sizes 3 (4 7 10 13 16) 19, all to be CS.

It's only when we set the generator to precisely 6/19 oct that we find

that 13 and 16 are not CS (but 16 is proper).

Agreed?

That makes Erv's definition of CS (as relayed by Kraig and Monz)

pretty useless. Are CS only defined for scales embedded in EDPs (Equal

Divisions of the Period)? Did they leave that bit out? Or are we

supposed to parameterise the definition of CS with some allowable

error whereby two slightly different intervals are to be considered as

instances of the same interval?

-- Dave Keenan

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

I'm having a great time replying to my own posts. Thank goodness you

guys aren't in the same time zone or I'd never get anything else done.

:-)

Notice that a chain of 21 Miracle generators is CS when embedded in

72-EDO or 41-EDO, but not in 31-EDO, although it becomes proper in

31-EDO.

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> That makes Erv's definition of CS (as relayed by Kraig and Monz)

> pretty useless. Are CS only defined for scales embedded in EDPs

> (Equal Divisions of the Period)? Did they leave that bit out?

> Or are we supposed to parameterise the definition of CS with

> some allowable error whereby two slightly different intervals

> are to be considered as instances of the same interval?

Hi Dave,

I'm glad you're asking these questions, because I've long

been unhappy with my definition of CS, along with many of

the other terms that feature prominently in Wilson's theory.

Unfortunately, I understand them less than you do, so I'm

of no help.

Is Daniel Wolf on this list? He might be of some real

help here.

-monz

http://www.monz.org

"All roads lead to n^0"

>It seems from http://www.ixpres.com/interval/dict/constant.htm

>that Carl Lumma was briefly seduced into thinking that all MOS

>are CS

Nope.

>or rather that a CS was a family of MOS scales with a particular

>property (which seems to be simply having the same generator)

Not a family of scales, but a family of scale cardinalities

common to MOSs with the same ie but different generators.

This was simply my guess at which one of Erv's ideas (that I

knew about) he might call CS, knowing absolutely nothing more

about CS than the name itself.

>rather than a single scale with a particular property

>(i.e. for all intervals available in a scale, all instances of

>that interval are subtended by the same number of scale steps).

The correct definition later furnished by Kraig Grady.

>Can someone give me an example of a MOS that is not CS?

Any MOS with L:s = 2:1 will not be CS. The diatonic scale

in 12-equal comes to mind.

Monz, that was Erlich, not me, who linked PBs and CS in

message 15405.

-Carl

Paul wrote:

> The latter. I must have missed the former -- where it it?

<http://x31eq.com/miracle/>. You complained about it ending

with a neutral triad IIRC.

Graham

--- In tuning-math@y..., carl@l... wrote:

> >It seems from http://www.ixpres.com/interval/dict/constant.htm

> >that Carl Lumma was briefly seduced into thinking that all MOS

> >are CS

>

> Nope.

>

> >or rather that a CS was a family of MOS scales with a particular

> >property (which seems to be simply having the same generator)

>

> Not a family of scales, but a family of scale cardinalities

> common to MOSs with the same ie but different generators.

> This was simply my guess at which one of Erv's ideas (that I

> knew about) he might call CS, knowing absolutely nothing more

> about CS than the name itself.

Ok. Monz, you might want to delete that bit from your dictionary.

> >rather than a single scale with a particular property

> >(i.e. for all intervals available in a scale, all instances of

> >that interval are subtended by the same number of scale steps).

>

> The correct definition later furnished by Kraig Grady.

>

> >Can someone give me an example of a MOS that is not CS?

>

> Any MOS with L:s = 2:1 will not be CS. The diatonic scale

> in 12-equal comes to mind.

Thanks Carl. But the above definition means that I can make an

infinitesimal change to the generator (in either direction) and the

scale suddenly becomes CS. Not a very useful scale property. Or not a

very useful definition of it.

Anyone want to propose a better definition? One that doesn't have this

defect.

-- Dave Keenan

--- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

> That makes Erv's definition of CS (as relayed by Kraig and Monz)

> pretty useless.

It's not useless -- most scales characterized as CS are not MOSs.

> Are CS only defined for scales embedded in EDPs (Equal

> Divisions of the Period)?

Nope!

> Did they leave that bit out?

Nope!

> Or are we

> supposed to parameterise the definition of CS with some allowable

> error whereby two slightly different intervals are to be considered as

> instances of the same interval?

Nope!

--- In tuning-math@y..., graham@m... wrote:

> Paul wrote:

>

> > The latter. I must have missed the former -- where it it?

>

> <http://x31eq.com/miracle/>. You complained about it ending

> with a neutral triad IIRC.

Oops -- I forgot to listen to this on good speakers. On the speakers I

was listening to it on, there was so much distortion that I didn't

even know it was supposed to be a neutral triad.

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> --- In tuning-math@y..., "Dave Keenan" <D.KEENAN@U...> wrote:

>

> > That makes Erv's definition of CS (as relayed by Kraig and Monz)

> > pretty useless.

>

> It's not useless -- most scales characterized as CS are not MOSs.

>

> > Are CS only defined for scales embedded in EDPs (Equal

> > Divisions of the Period)?

>

> Nope!

>

> > Did they leave that bit out?

>

> Nope!

>

> > Or are we

> > supposed to parameterise the definition of CS with some allowable

> > error whereby two slightly different intervals are to be

This isn't very helpful Paul. Can you give a definition that we can

turn into a recognition algorithm for the case of MOS, such that, when

considered as a Boolean function of the generator size, it does not

contain spikes of infinitesimal width?

considered as

> > instances of the same interval?

>

> Nope!

From: "Daniel Wolf" <djwolf1@matavnet.hu>

To: "Dave Keenan" <D.KEENAN@UQ.NET.AU>

Subject: Re: Constant Structures?

Date: Sat, 2 Jun 2001 09:55:36 +0200

Hi:

It's sounds to me as if you're trying to define a property other than

Wilson's

CS. As I understand it, Wilson uses CS to describe a pattern shared

by a group

of tunings that can be mapped onto a single scale tree pattern, even

if the

generator size is only a average value. For example, he maps the

3(1,3,7,9,11,15 Eikosany (plus two "pigtails"), a scale based on an

Indian Sruti

model, and 22tet onto a 22-tone keyboard and notation. The subsets

described by

the scale tree then becomes useful paths for orientation in ´the

larger system.

I am not aware if Wilson has formalized this any further. I don't know

if he

works by trial and error or has some formulae to determine if and how

a scale

fits a CS. I do know that it has been an important question for him

(i.e.

fitting Partch onto 41, or figuring out that the 3(1,3,5,7,9,11

Eikosany does

NOT fit into a low number CS.

(Writing the above, I've got the strong suspicion that constructing a

formula

that will predict whether and where in the scale tree a given scale

will find a

CS is probably very hard to construct.)

I know that this isn't much, but I hope it helps.

Deej

Date: Fri, 01 Jun 2001 21:21:24 -0700

To: David C Keenan <d.keenan@uq.net.au>

From: Carl Lumma <carl@lumma.org>

Subject: Re: Constant Structures?

Howdy Dave!

>We could use some help here. I understand this is ground you've been

over.

>Namely the definition of "Constant Structure".

>

>Start from the "> P.S." about halfway thru

>/tuning-math/message/102

>and follow the thread.

I'll have to ask why you call Paul's suggestion a "good idea" here.

The following excerpt from a paper of mine may prove helpful to you:

>"Constant structures" is a term coined by Erv Wilson. A scale is a

>constant structures scale (is "CS") if each of its acoustic intervals

>appear in exactly one scale degree. This is similar to Rothenberg's

>"strict propriety" (all strictly proper scales are CS), but weaker

(many

>improper scales are also CS). Because of this, CS is not a good

measure

>of modal transposition (as are the various types of propriety), but

CS

>does reduce the complexity of the rank-order matrix. In a CS scale,

as

>soon as one hears a certain acoustic interval, he knows he has heard

a

>certain scale degree (if he can construct the matrix in the first

>place). Further, if he can memorize all the intervals in the matrix,

he

>can track scale degrees even in an improper scale (though it seems

motifs

>will still be, to a large extent, percieved by interval sizes rather

than

>types, thus making modal transposition in an improper CS scale

difficult).

>Paul Erlich has suggested a criterion in which only consonances are

>evaluated for CS. This may be considered a "special set" version of

CS.

Try also this post, from March 9, 2000:

>Some readers may wonder what Constant Structures and Propriety are

good

>for.

>

>They both assume that when we hear music, we attempt to assign scale

degree

>numbers to melodic pitches. I won't argue about that here; if you

don't

>think it happens, then propriety and CS aren't for you. But if

you're

>interested in getting it to happen or not, then they are for you.

>

>Propriety and CS both measure how easy it is for the listener to

>un-ambiguously assign scale degree numbers to pitches as he hears

them. CS

>assumes that a listener can recognize intervals by their _specific_

size --

>a 3:2 is distinct from a 7:5, and so on. So CS asks, once you

recognize

>the interval, will there be any doubt as to what scale degree it is?

If

>you can answer "no", your scale is CS. In the diatonic scale in

12-tet,

>you can answer no for all the intervals but the tritone -- it can be

a

>fourth or a fifth; you need other notes to clarify its position in

the

>scale.

>

>Propriety does the same thing, except it assumes that listeners

recognize

>intervals by their _relative_ size -- that the listener ranks the

intervals

>he hears by how big they are. The actual tuning of the intervals

doesn't

>matter, so long as their ranks are preserved. This means the theory

can be

>tested to see if people percieve a similarity between different

tunings of

>a scale with the same "rank-order", and if they percieve a difference

>between two tunings of a scale with a different rank-order.

Rothenberg has

>actually suggested some very cool experiments to test many aspects of

his

>theory, which are yet to be performed. Unfortunately,

enthno-musicology is

>simply not a source of scientific information here.

[you wrote...]

>Can you write us a CS recogniser that, when given the generator,

period

>and the number of notes in each chain, will say yea or nay? And we'll

>slot it in.

CS means all instances of a pitch in a scale's "diamondic" cross-set

occupy the same scale position. That is, CS iff no ambiguous

intervals.

I don't believe an MOS can have ambiguous intervals if L:s /= 2:1.

I'll leave the algorithm for getting L and s from n, g, and ie up to

you.

-Carl

> Thanks Carl. But the above definition means that I can make an

> infinitesimal change to the generator (in either direction) and the

> scale suddenly becomes CS. Not a very useful scale property. Or not

> a very useful definition of it.

Hate to say it Dave, but I don't think CS is that useful a property

anyway. Or, maybe I should say, I can almost hear Wilson crying

out, 'Of course! It's only a guide, an idea. Why would you expect

it to be so precise?'.

> Anyone want to propose a better definition? One that doesn't have

> this defect.

A treatment along the lines of what I did for propriety and

stability would be one approach. But by that time, I'd just be

using those measures anyway.

Now, Erlich's consonant constant structures I can live with.

One could imagine...

1. Listing the target consonances. Say, for easy of what follows,

there is only one target consonance.

2. In h.e. fashion, find for each interval in the scale the

probability it will be heard as the target interval.

3. Sum these probabilities for each scale degree.

4. Subtract from the largest sum all the other sums. Or maybe

take the difference between the two largest sums. Or maybe the

difference between the largest sum and the mean sum. Or something

like that.

...hmmm... if one insisted on normal CS and not consonant CS (CCS?),

he might use the statistical approach above, but include all the

intervals in the scale in #1, and use all the intervals instead

of a farey series in #2 (and midpoints between these instead of

mediants).

-Carl

> It's sounds to me as if you're trying to define a property other

> than Wilson's CS. As I understand it, Wilson uses CS to describe

> a pattern shared by a group of tunings that can be mapped onto a

> single scale tree pattern,even if the generator size is only a

> average value. For example, he maps the 3(1,3,7,9,11,15 Eikosany

> (plus two "pigtails"), a scale based on an Indian Sruti model, and

> 22tet onto a 22-tone keyboard and notation. The subsets described

> by the scale tree then becomes useful paths for orientation in

> ´the larger system.

Amazing, Daniel! This is just what I guessed CS was, before

the correspondence from Kraig. See monz's web site reffed earlier

in this thread.

> (Writing the above, I've got the strong suspicion that

> constructing a formula that will predict whether and where in

> the scale tree a given scale will find a CS is probably very hard

> to construct.)

On the contrary, unless I mis-understood you, the scale tree

shows the generator ranges itself. I know you know this, so

maybe I _did_ mis-read you. Can I get you to check monz's

web page?

http://www.ixpres.com/interval/dict/constant.htm

-Carl

>Anyone want to propose a better definition? One that doesn't have

>this defect.

Actually, Dave, if you're only interested in CS, I think you can

just use the size of L/s. The stuff I gave in my last message

is good for any scale (not just MOS).

-Carl

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> --- In tuning-math@y..., "monz" <joemonz@y...> wrote:

> > --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> >

> > /tuning-math/message/56

> >

> > > ... By the way, your Blackjack chord progression totally

> > > blew away and inspired Joseph Pehrson.

> >

> >

> > Me too!!!! I could tell by looking at it that I simply

> > *had* to hear it... that's exactly why *I* made the audio file!

>

> You deserve a lot of credit also for the voice-leading (which

Joseph

> and I meticulously reproduced on the keyboard) and for such a good

> choice of timbre.

The first time I heard that progression, I was literally paralyzed

with shock/pleasure/anticipation...etc. The fact that it seemed like

a "mobius" strip and never ended fascinated me, too. It ended up

that it was just confusing me by being 7 chords rather than

the "usual" 8 chords that are used in such exercises (see, there WERE

a couple of numbers in this post!)

___________ ________ _________

Joseph Pehrson

--- In tuning-math@y..., "Dave

Keenan" <D.KEENAN@U...> wrote:

> This isn't very helpful Paul. Can you give a definition that we can

> turn into a recognition algorithm for the case of MOS, such that, when

> considered as a Boolean function of the generator size, it does not

> contain spikes of infinitesimal width?

Why? I think you guys are right

that almost all generators lead to

MOSs that are CS. So the non-MOS

scales for which the term CS is

used, which don't have a single

generator but are rather

periodicity blocks in JI, won't

concern us here.

--- In tuning-math@y..., carl@l...

wrote:

> > It's sounds to me as if you're trying to define a property other

> > than Wilson's CS. As I understand it, Wilson uses CS to describe

> > a pattern shared by a group of tunings that can be mapped onto a

> > single scale tree pattern,even if the generator size is only a

> > average value. For example, he maps the 3(1,3,7,9,11,15 Eikosany

> > (plus two "pigtails"), a scale based on an Indian Sruti model, and

> > 22tet onto a 22-tone keyboard and notation. The subsets described

> > by the scale tree then becomes useful paths for orientation in

> > ´the larger system.

>

> Amazing, Daniel! This is just what I guessed CS was, before

> the correspondence from Kraig. See monz's web site reffed earlier

> in this thread.

Kraig also thought that CS meant

something different before

Wilson gave him the definition on

Monz' web page.

>

> > (Writing the above, I've got the strong suspicion that

> > constructing a formula that will predict whether and where in

> > the scale tree a given scale will find a CS is probably very hard

> > to construct.)

>

> On the contrary, unless I mis-understood you, the scale tree

> shows the generator ranges itself. I know you know this, so

> maybe I _did_ mis-read you. Can I get you to check monz's

> web page?

>

> http://www.ixpres.com/interval/dict/constant.htm

>

> -Carl

Daniel Wolf didn't post directly to

this list. So make sure someone

forwards this to him. Also, maybe

he wrote Dave privately because

the idea was that this list should

cease to exist? Perhaps we

should be posting all this to the

tuning list?

(21) [16,2,5,6,37,-34] <2401/2400, 3136/3125>

68+31=99

(22) [4,-3,2,13,8,-14] <49/48,225/224>

10+9=19

(23) [1,4,10,12,-13,4> <81/80,126/125>

Meantone

(24) [1,-3,-2,4,6,7] <15/14,64/63>

[ 0 1] Generator 2.9969 /7

[-1 2]

[ 3 1]

[ 2 2]

(25) [3,0,6,14,-1,-7] <36/35,128/125>

Generators: 14.03214 / 33; 1/3

(26) [7,-3,8,27,7,-21] <225/224,1728/1715>

Orwell

(27) [6,0,3,7,12,-14] <49/48,128/125>

6+9=15

(28) [22,-5,3,21,57,-59] <2401/2400, 65625/65536>

140+31=171 a = 11.0003 / 171

This one is interesting!

(29) [8,6,6,-3,13,-9] <50/49, 875/864>

(30) [3,0,-6,-14,18,-7] <64/63, 126/125>

a = 10.9962 / 27; b = 1/3 15+12=27

An old favorite of mine.

(29)

Could you take a look at my questions on the first 20?

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:

> Could you take a look at my questions on the first 20?

I thought I did--which questions still require an answer?