back to list

Refinement of methods

🔗John A. deLaubenfels <jdl@adaptune.com>

10/11/2000 9:40:31 AM

[Paul E wrote:]
>>Why not aim for a mild meantone as in the optimal tunings I found for
>>these chain-of-fifth chords?

[I wrote:]
>That could be done! I could do it without any program changes, just
>by creating some new tuning options with additional tuning files
>included in the mix. It might actually make a big improvement in the
>results for sequences that have a lot of chords constructed that way.
>The same thing could be done to give more options for augmented triads
>and full diminished seventh chords.

But, I realized that deliberately tuning intervals away from JI makes
little sense and isn't necessary. These chords all have inner conflict,
but that conflict can best be resolved by setting the rest intervals of
the vertical springs to JI and letting them fight it out. Chains of
fifths tend to move toward meantone, while augmented triads and full
diminished sevenths tend to seek 12-tET, except that note volume
variations can pull some intervals closer to JI at the expense of
others.

This new trick is inconsistent with the structure of my tuning files,
which have provision only for providing a consistent tuning to the
program, not for setting up vertical conflict. So, I simply intervene
as the vertical springs are being constructed, and when the ideal starts
at 12-tET (well, 300, 400, or 500 cents, or some inversion thereof),
the rest point of the spring is moved to JI (315.64, 386.31, or 498.04
cents). This happens only where problem chords have already been
detected, so it doesn't affect normal triads or tetrads, only those
problem children we've discussed.

Ironically, the total pain calculated by the program increases, even as
actual tuning improves. But calling any 12-tET target "painless" has
always been silly anyway.

JdL

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

10/11/2000 10:38:58 AM

John deLaubenfels wrote,

>But, I realized that deliberately tuning intervals away from JI makes
>little sense and isn't necessary. These chords all have inner conflict,
>but that conflict can best be resolved by setting the rest intervals of
>the vertical springs to JI and letting them fight it out.

John, that's exactly how I derived the optimal tunings for these chords!

>This new trick is inconsistent with the structure of my tuning files,
>which have provision only for providing a consistent tuning to the
>program, not for setting up vertical conflict. So, I simply intervene
>as the vertical springs are being constructed, and when the ideal starts
>at 12-tET (well, 300, 400, or 500 cents, or some inversion thereof),
>the rest point of the spring is moved to JI (315.64, 386.31, or 498.04
>cents). This happens only where problem chords have already been
>detected, so it doesn't affect normal triads or tetrads, only those
>problem children we've discussed.

I don't really get it -- I guess you have a more intimate familiarity with
your own algorithm than I do!

🔗John A. deLaubenfels <jdl@adaptune.com>

10/11/2000 12:46:55 PM

[I wrote:]
>>But, I realized that deliberately tuning intervals away from JI makes
>>little sense and isn't necessary. These chords all have inner
>>conflict, but that conflict can best be resolved by setting the rest
>>intervals of the vertical springs to JI and letting them fight it out.

[Paul E wrote:]
>John, that's exactly how I derived the optimal tunings for these
>chords!

Yes, I know. That's how I've been doing COFT as well. It's just that,
up till now, my set of vertical springs at each moment in time (outside
the COFT calculation) has always been self-consistent; that is, if
detached from horizontal and grounding influences, each moment could
reach a zero energy ("pain") state.

[JdL:]
>>This new trick is inconsistent with the structure of my tuning files,
>>which have provision only for providing a consistent tuning to the
>>program, not for setting up vertical conflict. So, I simply intervene
>>as the vertical springs are being constructed, and when the ideal
>>starts at 12-tET (well, 300, 400, or 500 cents, or some inversion
>>thereof), the rest point of the spring is moved to JI (315.64, 386.31,
>>or 498.04 cents). This happens only where problem chords have already
>>been detected, so it doesn't affect normal triads or tetrads, only
>>those problem children we've discussed.

[Paul:]
>I don't really get it -- I guess you have a more intimate familiarity
>with your own algorithm than I do!

Well, no doubt - my level of intimacy is complete, except for those
times I can't remember a thing about my own code! But, to review the
process and perhaps clarify,

. Before any springs are generated, I decide what target tuning to
use at each moment in time. To pick an ideal target tuning, each
tuning file in each possible key is compared against the set of
notes now sounding. Chords like, say, augmented triads show great
pain on the "backside" of JI, and so are shunted into 12-tET
tuning, where major thirds are painful but consistent.

. The program used to stop there, but around Jan 2000 I added a
spring layer of processing. What I've done up till now is, when
a 12-tET tuning is chosen as best, 12-tET was also the target
tuning of the vertical springs. Now it's not. (I leave minor
seconds, major seconds, and tritones at 12-tET target tunings,
100, 200 and 600 cents respectively, but reduce the importance of
exact adherence to boost the other intervals' influence).

If it's confusing what I'm saying about the tuning files, just visualize
that they give an offset for each pitch12, with dyad tuning implied
from that. In this scheme, there's no way to introduce inconsistencies.

Clearer?

JdL

🔗Carl Lumma <CLUMMA@NNI.COM>

10/12/2000 4:06:50 PM

>The program used to stop there, but around Jan 2000 I added a
>spring layer of processing. What I've done up till now is, when
>a 12-tET tuning is chosen as best, 12-tET was also the target
>tuning of the vertical springs. Now it's not. (I leave minor
>seconds, major seconds, and tritones at 12-tET target tunings,
>100, 200 and 600 cents respectively, but reduce the importance of
>exact adherence to boost the other intervals' influence).

John, I get the list in digest form, and I can't find the
original post in this thread _anywhere_. Can you reference
the message number, or explain what the new target tuning
for the vertical springs is?

-Carl

🔗John A. deLaubenfels <jdl@adaptune.com>

10/13/2000 5:18:05 AM

[I wrote:]
>>The program used to stop there, but around Jan 2000 I added a
>>spring layer of processing. What I've done up till now is, when
>>a 12-tET tuning is chosen as best, 12-tET was also the target
>>tuning of the vertical springs. Now it's not. (I leave minor
>>seconds, major seconds, and tritones at 12-tET target tunings,
>>100, 200 and 600 cents respectively, but reduce the importance of
>>exact adherence to boost the other intervals' influence).

[Carl Lumma wrote:]
>John, I get the list in digest form, and I can't find the
>original post in this thread _anywhere_. Can you reference
>the message number, or explain what the new target tuning
>for the vertical springs is?

It's all there in digest 876, the same one you drew the quote from. My
original post is message 2, and Paul's response message 3. If you're
on the web, the archive numbers are 14274, 14275, and 14281 (the one
you quoted from).

JdL

🔗Carl Lumma <CLUMMA@NNI.COM>

10/13/2000 7:11:08 AM

>>John, I get the list in digest form, and I can't find the
>>original post in this thread _anywhere_. Can you reference
>>the message number, or explain what the new target tuning
>>for the vertical springs is?
>
>It's all there in digest 876, the same one you drew the quote from. My
>original post is message 2, and Paul's response message 3. If you're
>on the web, the archive numbers are 14274, 14275, and 14281 (the one
>you quoted from).

I saw that post, but it sure sounded like I was missing something. On
second read, maybe not. Am I correct that your vertical springs are
now set to the same scale as your horizontal springs? And that this
results in an inflation of pain values, but actually less pain?
How do you know there's less pain, and why would the values inflate?

-Carl

🔗John A. deLaubenfels <jdl@adaptune.com>

10/13/2000 9:03:53 AM

[I wrote:]
>>It's all there in digest 876, the same one you drew the quote from. My
>>original post is message 2, and Paul's response message 3. If you're
>>on the web, the archive numbers are 14274, 14275, and 14281 (the one
>>you quoted from).

[Carl Lumma:]
>I saw that post, but it sure sounded like I was missing something. On
>second read, maybe not. Am I correct that your vertical springs are
>now set to the same scale as your horizontal springs? And that this
>results in an inflation of pain values, but actually less pain?
>How do you know there's less pain, and why would the values inflate?

No, they're not really set to the same scale. Horizontal springs always
strive for no pitch change at all, with a strength determined by how
connectedly a note is sounding across a boundary; vertical springs
always strive for some non-unison interval, with a strength determined
by the strength (and length) of the notes defining the interval. They
are always scaled differently in my program; separate input constants
adjust their relative importance.

As for calculated vs. actual pain: a chain of four notes forming 3
fifths such as C,G,D,A, should narrow the fifths for the sake of the
minor third, A-C. Using the latest method, it will, but all the
vertical springs in the chord will show some dissatisfaction; none can
achieve rest. The PREVIOUS way pretended that 12-tET tuning was ideal
for this chord, meaning that the fifths would be 12-tET and the A-C
minor third would be as well (assume no horizontal or grounding forces).
So all the vertical springs are "at rest", showing zero pain, even
though the tuning is far from ideal!

Does this make it clearer?

JdL

🔗Carl Lumma <CLUMMA@NNI.COM>

10/13/2000 8:29:03 PM

>>I saw that post, but it sure sounded like I was missing something. On
>>second read, maybe not. Am I correct that your vertical springs are
>>now set to the same scale as your horizontal springs? And that this
>>results in an inflation of pain values, but actually less pain?
>>How do you know there's less pain, and why would the values inflate?
>
>No, they're not really set to the same scale. Horizontal springs always
>strive for no pitch change at all,

None at all?? IOW, you are still rooting to 12-tET? Or do you mean
none from the previous pitch the given note was last tuned to?

-Carl

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

10/14/2000 12:49:12 AM

John deL. wrote,

>>No, they're not really set to the same scale. Horizontal springs always
>>strive for no pitch change at all,

Carl wrote,

None at all?? IOW, you are still rooting to 12-tET? Or do you mean
none from the previous pitch the given note was last tuned to?

He's not still grounding to 12-tET. He means no pitch change from the
previous occurrence of the pitch class and to the next occurrence of the
pitch class.

🔗John A. deLaubenfels <jdl@adaptune.com>

10/14/2000 6:09:15 AM

[I wrote:]
>>No, they're not really set to the same scale. Horizontal springs
>>always strive for no pitch change at all,

[Carl Lumma:]
>None at all?? IOW, you are still rooting to 12-tET? Or do you mean
>none from the previous pitch the given note was last tuned to?

The second option. The whole purpose of the springs I call horizontal
is to resist change in the tuning of a given pitch (C, C#, .. B). No,
I'm not rooting (grounding) to 12-tET; I'm grounding to a quasi-COFT
value. I call those "grounding springs"; perhaps you were actually
inquiring about them vs. vertical springs?

Grounding springs are a lot like vertical springs; they can in fact
be visualized as vertical springs to an idealized tuning of the pitch
in question. The value of that ideal is either true COFT, or some
slight modification to COFT as best suits the dynamic motion of the
sequence.

JdL

🔗Carl Lumma <CLUMMA@NNI.COM>

10/14/2000 4:29:05 PM

>>>>No, they're not really set to the same scale. Horizontal springs always
>>>>strive for no pitch change at all,
>>
>>None at all?? IOW, you are still rooting to 12-tET? Or do you mean
>>none from the previous pitch the given note was last tuned to?
>
>He's not still grounding to 12-tET. He means no pitch change from the
>previous occurrence of the pitch class and to the next occurrence of the
>pitch class.

As I suspected. In which case, I take full credit, as I suggested this
to John several months ago, in a writeup still located at...

http://lumma.org/adaptive.txt

...see footnote #2.

-Carl

🔗John A. deLaubenfels <jdl@adaptune.com>

10/14/2000 5:42:05 PM

[Paul E:]
>>He's not still grounding to 12-tET. He means no pitch change from the
>>previous occurrence of the pitch class and to the next occurrence of
>>the pitch class.

[Carl L:]
>As I suspected. In which case, I take full credit, as I suggested this
>to John several months ago, in a writeup still located at...

>http://lumma.org/adaptive.txt

>...see footnote #2.

Carl, exactly what are you taking "full credit" for? I have long
considered the same three components to tuning, which I've called shift,
drift, and vertical tuning. Shift refers to the modification of a
sounding note's tuning; drift refers to a progressive change in the
average absolute tuning, and vertical tuning refers to notes of
different pitches sounding together. I'm still trying to figure out
just what your footnote #2 means, though I know you've tried to explain
it to me.

JdL

🔗Carl Lumma <CLUMMA@NNI.COM>

10/14/2000 11:31:39 PM

>Carl, exactly what are you taking "full credit" for?

That, my friend, was a joke. I _may_ have thought of it
before you, but I'm sure I'm not the first, and you at
least discovered it independently -- I suspected you never
followed the admittedly confusing language of footnote 2.
Besides, you've already got a working model, and my desire
to take credit for anything is about nil.

But read over my (off-list) comments on that footnote. I
have a sincere interest in writing it up more clearly!

-Carl

🔗John A. deLaubenfels <jdl@adaptune.com>

10/15/2000 6:53:58 AM

[I wrote:]
>>Carl, exactly what are you taking "full credit" for?

[Carl Lumma:]
>That, my friend, was a joke.

Which I probably should have realized, especially given my own
tendencies toward tongue-in-cheek posts.

[Carl:]
>I _may_ have thought of it
>before you, but I'm sure I'm not the first, and you at
>least discovered it independently -- I suspected you never
>followed the admittedly confusing language of footnote 2.
>Besides, you've already got a working model, and my desire
>to take credit for anything is about nil.

Well... controlling shift (horizontal motion) has been at the heart of
my techniques since long before I found the list (see my original post,
03-01-99). And what I've thought I've understood of your proposed
approach strikes me as coming into confrontation with some challenges
you haven't factored in as of yet. BUT, you may have some wonderful
ideas here, Carl. I'm sorry that I haven't understood you better.

As always, my soapbox is: take these ideas and put them into practice;
cross the bridges that you come to only when you make the actual
journey. There comes a time to leave a study of theory behind, just as
there is a time to be immersed in theory (cue song, "To Every Thing,
There is a Season"). And by all means, take credit where it is due!

[Carl:]
>But read over my (off-list) comments on that footnote. I
>have a sincere interest in writing it up more clearly!

I'll see if I can dig it up...

JdL