back to list

Adaptive tuning methods

🔗John A. deLaubenfels <jadl@idcomm.com>

1/18/2000 7:24:25 PM

I Wrestling with the demon.

In common with many or most members of the list, I'm not exactly rolling
in dough. Also in common with many or most, I'd love to make a living,
or even a tiny token dollar, from the pursuit of music. So there is a
part of me that wants to hoard any bit of knowledge I might have.

On the other hand, the heck with that attitude; this is MUSIC.

II Methods.

Springs. Thousands of springs. Hundreds of thousands, if necessary.
Springs are a way that competing interests can communicate with each
other for the purpose of overall reduction of energy, or "pain".

At least one list member has sneered at the idea of using the word
"pain" in a meaningful model of adaptive tuning. To this I would say,
if your quibble is with the choice of words, suggest others. If
your thesis is that there is no meaningful way to measure musical
tradeoffs, well, I'd say that history is in the process of proving you
wrong.

We all know that tuning, whether adaptive or fixed, is a matter of
tradeoffs. If anyone is in doubt, then consider the simple sequence
C to A to D to G to C. This is the "comma pump", and there is no way to
avoid some "pain". Either the ending C is shy of the beginning by
80:81, or someone along the way has to give.

How much do the competing needs hurt when they're not fully met? In
general, my belief is that pain is proportional to the square of
deviation. Deviation can be: mistuned intervals, motion in the tuning
of a note continuously sounding or remembered, or an overall drift of
the center of tuning away from what is expected. And this is only a
partial list, to be sure, but it includes perhaps the three most
important factors.

When a fifth, say, is mistuned by 1 cent, most ears cannot tell. Bump
it to 2 cents, as in 12-tET, and the tuning is still very good. But
double it again, to be near 1/4 comma meantone reduction, and the pain
is real. Double it again and the interval really starts to hurt. I
would measure the relative pain as 1, 4, 16, and 64, the square of
deviation.

Again, when a continuously sounding note is retuned by 1 cent, even the
most sensitive ear grasps for a clue. But with each doubling of motion,
pain jumps, I would say by the square of motion.

It happens that this relationship is in close correspondence to physical
reality. In a former life, I worked in the design of nuclear power
plants (don't all hiss at once!), and in that life I learned a lot about
springs. An ideal spring has some point of rest, and its resisting
force to deviation is linearly proportional to that deviation. If
deflecting 1 inch causes 10 pounds of resisting force, then deflecting 2
inches will cause 20 pounds of back pressure.

But didn't I say squared, not linear??? Ah, but the energy held by a
spring is proportional to the square of deviation, and in this model,
energy and pain are equivalent.

In the physical model, it can be shown mathematically that minimum
total system energy is represented by a summation of spring force at
each node of zero. To put it another way, any change of the state of
deflection which is supported by net spring force also reduces the
total energy, or "pain", of the system.

So, my tuning model in principle is extremely simple. I load the
sequence and start wiring up springs. Across every simultaneous
("vertical") interval, springs pull toward ideal JI tuning, while at
the same time allowing deviation therefrom at measured cost. Each
note's tuning is sprung to "ground", the center expectation for tuning
of that note. And each note is sprung horizontally in time to
previous and successive tunings of itself.

The strength of each spring is dependent upon both the particulars of
the moment (largely the loudness of the notes) and upon chosen
coefficients of importance that partially reflect individual taste.
I tolerate a lot of motion for the sake of good tuning; other list
members have ears that easily cringe at motion and tolerate greater
mistuning.

Once the springs are wired, I simply move the tunings of each node to
achieve zero total spring force everywhere, this being in one-to-one
correspondence with minimum pain, to the extent that the model is
correct.

One way of solving a spring matrix is by inverting the matrix. But
a large musical sequence is too large for this, I believe. I just use
successive approximation, in conjunction with "monte carlo" pseudo-
random motion through the piece.

Note that the springs need not be linear. What is important is that the
spring force represents the derivative of pain with respect to tuning
motion, whether linear or not. Once non-linearities are possible,
matrix inversion is not an option; only successive approximation can
do the job.

Many important factors are still not represented by this method. But
at the same time, the results are impressive, I believe. I'll soon
be posting more examples to illustrate. All feedback is welcome,
ESPECIALLY (constructive) negative feedback.

JdL

🔗Paul H. Erlich <PErlich@Acadian-Asset.com>

1/18/2000 7:28:03 PM

>Again, when a continuously sounding note is retuned by 1 cent, even the
>most sensitive ear grasps for a clue. But with each doubling of motion,
>pain jumps, I would say by the square of motion.

That might be disputable. There is a psychologically measurable quantity
known as the "just noticeable difference." In the circumstance of a single
note, this amounts to over 8 cents in most cases. So, rather than a
parabola, I would use a curve which is very low up to 8 cents, then rises
dramatically up to about 10 cents, then rises less dramatically.

>Each
>note's tuning is sprung to "ground", the center expectation for tuning
>of that note.

Which is?

🔗Carl Lumma <clumma@nni.com>

1/18/2000 11:17:55 PM

>Many important factors are still not represented by this method. But
>at the same time, the results are impressive, I believe. I'll soon
>be posting more examples to illustrate. All feedback is welcome,
>ESPECIALLY (constructive) negative feedback.

It's great. Seems like the ideal adaptive tuning scheme.

I can easily explain my method in terms of springs. It would produce the
same results as your method if you...

1. Left out the vertical error spring.

2. Set the resistences of the horizontal drift, tonic drift, and chord
choice springs all to max. "But you might as well not have resistences!"
True, but this explaination is in terms of your method, and there is #3,

3. Instead of minimizing the total energy, minimize the horizonal drift
energy. Minimize total energy only when horizontal drift has more than one
minimum.

...other that that, there's really a shocking resemblance in our approaches!
:)

Seriously -- I'm using mean squared error, and loudness of parts. Our list
of chords may vary, but that's to be expected. How did you come up with
your list of chords, by the way? And do you even have a "chord choice
spring" (I rate the dissonance of each chord), or do you assume all the
chords are equally consonant before the vertical error begins?

Once again, my method is explained in its native tongue at:
http://lumma.org/adaptive.txt

Your method is better for the composer interested in increasing the
consonance of his music while maintaining the overall framework and intent
of the tempered composition. [The number of consonant relationships in the
vocabulary is increased, but not in an especially consistent or exploitable
way. Both the vertical puns (same dyad occupying two spots in the harmonic
series) and horizontal puns (same frequency occupying two spots in pitch
space) of temperament are valued.]

My method is better for the composer who wants to maximize the number of
harmonic relationships, and to be able to access them simply by scoring
their best tempered approximation -- who values vertical puns but not
horizontal ones (that's me!, hope I've gotten that across on this list
already!).

Of course, your method is better as far as flexibility goes (it might even
be possible to approximate my method with the right "mix" of resistences).
Which brings us to...

>>Each note's tuning is sprung to "ground", the center expectation for
>>tuning of that note.
>
>Which is?

Yeah! I already asked if you have a spring for chord choice, and if so,
how you came up with your chord list. I'm also curious about what you use
for ideal horizontal motion. Meatone? 12-tone? Have you considered
adding a "choose your ideal template" option for the different springs?
So, in the case of horizontal motion, I could pick which commas to try and
zap, and which to keep?

>>Again, when a continuously sounding note is retuned by 1 cent, even the
>>most sensitive ear grasps for a clue. But with each doubling of motion,
>>pain jumps, I would say by the square of motion.
>
>That might be disputable. There is a psychologically measurable quantity
>known as the "just noticeable difference." In the circumstance of a single
>note, this amounts to over 8 cents in most cases. So, rather than a
>parabola, I would use a curve which is very low up to 8 cents, then rises
>dramatically up to about 10 cents, then rises less dramatically.

To me, the cool thing about John's approach is that it lets you mix these
priorities and get results that correspond to what's on the mixing board,
even though the different knobs all affect eachother. In other words, it
would be easy to design a non-sprung version of John's method with
motorized knobs, so that when you turn one the others move accordingly.
But it would drive you nuts -- you couldn't get what you wanted. Bravo, John!

Thing is, the knobs will respond differently depending on how you rate the
deviations, but it won't change the main cool thing about John's method (in
my eyes). It's nice to have knobs that respond like your ear, but the
quoted experimental results give me little reason to prefer one way over
another without knowing the circumstances under which they were obtained
("just noticable"?, "most cases"?).

Thanks for sharing John! Your ideas are super-valuable to the cause. And
look around -- you've got enough of a head start on this that nobody here
is going to be able to catch you if you wanted to make the thing. Did you
say you considered a patent? Sounds like a patent-worthy "method" if there
ever was one!!

-Carl

🔗John A. deLaubenfels <jadl@idcomm.com>

1/19/2000 10:57:55 AM

[I wrote:]
>>Each note's tuning is sprung to "ground", the center expectation for
>>tuning of that note.

[Paul Erlich, TD 493.24:]
>Which is?

You KNOW what I'm going to answer, just as I know (unless you've changed
your mind) that you'll object. I wire each note to the center, 0.00
cents deviation, from 12-tET. As the original sequences I'm working
with are IN 12-tET, that seems reasonable.

As before, I wouldn't rule out some other center of shift, but have yet
to see a compelling reason to use anything else. Your proposed meantone
centering would, as we've discussed at length, have trouble with 19th
century sequences with their diesis pumps.

[Carl Lumma, TD 494.3:]
>Yeah! I already asked if you have a spring for chord choice, and if
>so, how you came up with your chord list.

Mmmm. I'm not using a chord list per se; rather, each set of sounding
notes tries to fit itself to one of the tuning files loaded, in each of
the possible 12 keys the file can be transposed to.

[Carl:]
>I'm also curious about what you use for ideal horizontal motion.
>Meatone? 12-tone?

I must not be understanding the question, because I want to answer, the
ideal horizontal motion for a unison is zero. For successive notes of
different pitches, I don't yet have springs wired, but if I do, they'll
reflect the same expectation that I have for ideal centering of single
notes: good ol' 12-tET.

>Have you considered adding a "choose your ideal template" option for
>the different springs? So, in the case of horizontal motion, I could
>pick which commas to try and zap, and which to keep?

I'm not following you here.

Carl, I apologize for not yet having found more time to understand your
proposed method, which you've obviously thought about in some detail.
I'll see if I can rectify that and answer more of your questions.

>Did you say you considered a patent? Sounds like a patent-worthy
>"method" if there ever was one!!

The idea of being protected is appealing, but I have to imagine the
inverse situation: what if someone else had played with springs,
patented the idea, and now had his/her hand out when I show up? The
heck with that: let's all run as fast as we can without restriction! If
Murphy, the laughing god of chance, cuts me out of the deal, so be it: I
can still say (imagine a shrill old-man voice here) "By cracky! There
was a time I was in the thick of that danged retuning game! Those young
whippersnappers have gone and pulled the rug right out from under me!"

Yes, it would seem (unless someone is lurking silently, which is always
possible!) that I have a head-start in this adaptive retuning game. But
a couple of months hard work could easily put someone else ahead of me!
I say this not so much to frighten myself as to encourage others - this
game is still W-I-I-I-I-DE open!

JdL

🔗Carl Lumma <clumma@nni.com>

1/19/2000 10:08:31 PM

>[Carl Lumma, TD 494.3:]
>>Yeah! I already asked if you have a spring for chord choice, and if
>>so, how you came up with your chord list.
>
>Mmmm. I'm not using a chord list per se; rather, each set of sounding
>notes tries to fit itself to one of the tuning files loaded, in each of
>the possible 12 keys the file can be transposed to.

You've got to have something that pairs 12-tone chords with just ones. The
question is, do you consider all just verions equally consonant?

>[Carl:]
>>I'm also curious about what you use for ideal horizontal motion.
>>Meatone? 12-tone?
>
>I must not be understanding the question, because I want to answer, the
>ideal horizontal motion for a unison is zero. For successive notes of
>different pitches, I don't yet have springs wired, but if I do, they'll
>reflect the same expectation that I have for ideal centering of single
>notes: good ol' 12-tET.

You understood exactly -- "what is it zero from?". 12-tet, eh? That's
what I use in my (vaporware) method. My method does consider successive
notes of different pitches, but only if there are no unisons to deal with.

I should also point out that the existence of unisons sometimes depends on
what tuning you assume the score to be in. Since MIDI files don't
distinguish enharmonic spellings, I guess we're assuming 12.

>>Have you considered adding a "choose your ideal template" option for
>>the different springs? So, in the case of horizontal motion, I could
>>pick which commas to try and zap, and which to keep?
>
>I'm not following you here.

What if I didn't want to zero from 12-tet? What if I consider meantone
ideal? 12 zaps the pythagorean and syntonic commas, but say I want to keep
the pythagorean comma? Would it be difficult to let the user specify the
ideal case in a file? In general could this be done for for all
deviations, not just horizontal motion?

>Carl, I apologize for not yet having found more time to understand your
>proposed method, which you've obviously thought about in some detail.
>I'll see if I can rectify that and answer more of your questions.

No apology necessary, obviously. I'm just all over you because you
actually seem capable and interested in developing software that allows
people to control the tuning of music. I've paid money for software that
only _claimed_ to do that.

-Carl

🔗monxmood@free.fr

9/29/2001 12:19:15 PM

Springs I like, and like you I have wrestled with the daemon apropos
of a realTime tuning adjustment prog that was going to bring peace to
the world and money to my pocket. The gimmick I used was based on the
fact that horizontal "pain" is unnoticeable compared to vertical
pain. This allows one to overcome both drift and burst by microtonal
portamento. Are you any good at coding? I am still looking for
someone to code this baby. More details on my site www.ii4i.net under
Atlas of Tonespace. The weighting tables are all ready and tested
(for deciding which tone of any chord/cluster to call "reference
tone" and allot ET value) as well as the output cent adjustment
tables.

The only reward would be having it bundled for free with some
computer music magazine plus free copies for everyone on this list
but who cares. Making the world sound better gets daily more
important for all.

Paul Hirsh

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

9/30/2001 7:02:13 AM

[Paul Hirsh wrote:]
>Springs I like, and like you I have wrestled with the daemon apropos
>of a realTime tuning adjustment prog that was going to bring peace to
>the world and money to my pocket. The gimmick I used was based on the
>fact that horizontal "pain" is unnoticeable compared to vertical
>pain. This allows one to overcome both drift and burst by microtonal
>portamento.

Hi, Paul! You're referring to my post from 01-18-00, linked from my
web site:

/tuning/topicId_7890.html#7890

It's interesting that you say horizontal pain is unnoticeable compared
to vertical. In my experience this is not always the case; it depends
upon the particular sequence of notes and chords. Certainly, it is true
that a shift of a few cents isn't audible to most ears, but at around 15
cents it starts to get painful pretty fast, if the jump is sudden. In
the long run, I probably want to use non-linear horizontal springs, but
haven't yet worked out the details of how to wire them. Another option
would be no horizontal springs but non-linear grounding springs that
forbid going more than a certain distance from the calculated ideal
grounding tuning.

>Are you any good at coding? I am still looking for someone to code this
>baby. More details on my site www.ii4i.net under Atlas of Tonespace.
>The weighting tables are all ready and tested (for deciding which tone
>of any chord/cluster to call "reference tone" and allot ET value) as
>well as the output cent adjustment tables.

I'm a professional C++ programmer. Alas, I hardly have time to code up
my own methods, so am not able to assist others beyond strategic advice
(which I am always happy to give). I urge you to bite the bullet and
learn to program. Any available language will do: Basic, C/C++, Java,
etc. all have plenty of power.

>The only reward would be having it bundled for free with some
>computer music magazine plus free copies for everyone on this list
>but who cares. Making the world sound better gets daily more
>important for all.

I agree! Did you see the article in the paper last week (in the Denver
Post, at least) about how music stimulates the same rewarding parts of
the brain as food and sex? IMHO, well tuned music stimulates so much
better than 12-tET! And, as we know, music is not fattening and doesn't
lead to pregnancy, disease transmission, emotional entanglements, and
so on.

I offer free tuning for non-commercial use of anyone's midi files. For
the most part, I've not distributed the program itself; it's run from
a command prompt and is not particularly user-friendly.

Please do everything you can to bring your ideas to life. The world of
adaptive tuning is wide open for exploration, and what a fertile land it
is! It will take the contributions of many individuals to realize its
highest potential.

JdL

🔗monxmood@free.fr

9/30/2001 1:11:52 PM

JdL wrote
>I urge you to bite the bullet and
> learn to program. Any available language will do: Basic, C/C++,
Java,
> etc. all have plenty of power.

Hi John

I have bitten the bullet with actionScript and found it quite tasty.
What fun it is when your first function works!(my guitar chord
dictionary) But I couldn't get into C++ because I couldn't make it do
anything visual. I read a whole book on it and felt impressed but...
At any rate the hard part comes when you interface with live MIDI (I
think). And there is probably a more idiomatic less gatesy way of
using OOLs for JI (once you know them well) than my method which is
based on weighting tables.

>Did you see the article in the paper last week (in the Denver
> Post, at least) about how music stimulates the same rewarding parts
of
> the brain as food and sex?

We don't get the Denver Post in Toulouse, but it stimulates OK.

> IMHO, well tuned music stimulates so much
> better than 12-tET! And, as we know, music is not fattening and
doesn't
> lead to pregnancy, disease transmission, emotional entanglements,
and
> so on.

We get a few cases of emotional entanglements being abetted by music.
Did'nt Shakespeare say something about that?

>It will take the contributions of many individuals to realize its
> highest potential.

Hear hear. This must be one of the liveliest groups on the web! Hope
we don't get kicked by Yahoo for giving them bandwidth problems

Paul H