back to list

Grounding to COFT

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

5/19/2000 1:23:46 PM

OK, found the time to try that idea Paul E. and I have discussed: doing
adaptive JI but grounding the notes not to 12-tET, but to the values
from Calculated Optimum Fixed Tuning (COFT).

Paul, you probably won't be surprised to hear that, in the Bach/Busoni
piece, the total pain is cut by more than half when the grounding is
moved in this fashion.

Here's something that's slightly surprising to me: COFT grounding is
not quite the ideal grounding for adaptive JI. I realized that, in
relaxing the spring matrix, I could add a step into the process to move
the grounding points as I'm relaxing the tuning at each moment in time.
For the Bach/Busoni, the COFT values are:

E0 34 42 (For pitch 0, we have bend 7.6228)
E1 68 3C (For pitch 1, we have bend -10.0961)
E2 04 40 (For pitch 2, we have bend 0.1052)
E3 17 42 (For pitch 3, we have bend 6.9058)
E4 14 40 (For pitch 4, we have bend 0.5031)
E5 25 44 (For pitch 5, we have bend 13.5871)
E6 0D 3C (For pitch 6, we have bend -12.3436)
E7 42 40 (For pitch 7, we have bend 1.6553)
E8 17 3C (For pitch 8, we have bend -12.0965)
EA 2E 40 (For pitch 9, we have bend 1.1569)
EB 2F 43 (For pitch 10, we have bend 10.6647)
EC 4A 3D (For pitch 11, we have bend -7.6646)

(These are slightly different than what I reported before; I fixed a
bug in the COFT routine...).

After adaptive relaxation, the ideal grounding points move to:

E0 00 42 (For pitch 0, we have target bend 6.3493)
E1 08 3D (For pitch 1, we have target bend -9.2995)
E2 01 40 (For pitch 2, we have target bend 0.0276)
E3 6B 41 (For pitch 3, we have target bend 5.8163)
E4 20 40 (For pitch 4, we have target bend 0.8013)
E5 0A 44 (For pitch 5, we have target bend 12.9117)
E6 28 3C (For pitch 6, we have target bend -11.6671)
E7 2E 40 (For pitch 7, we have target bend 1.1474)
E8 75 3C (For pitch 8, we have target bend -9.7780)
EA 33 40 (For pitch 9, we have target bend 1.2646)
EB 0A 43 (For pitch 10, we have target bend 9.7413)
EC 6E 3D (For pitch 11, we have target bend -6.7823)

I don't know why the values pull back like this, but they do. Of course
the differences may not be worth thinking much about, being just a cent
or two on each pitch.

I'll post some results on my web page within the next few days.

JdL

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

5/19/2000 2:57:14 PM

[Paul Erlich:]
>So the idea is within a cent or two of perfection. That's not bad!

>Can you explain how you calculate "ideal grounding points"?

I'd certainly not claim to have come within a cent or two of perfection!
BUT, given this chosen model, which is my best approach to date, the
numbers fall out that close. The major assumptions:

. For the entire sequence, there will be some fixed ideal tuning
for each pitch 0 .. 11 (C .. B).

. There is a calculable "pain" of being away from this ideal,
proportional to the square of the distance and linear with loudness
of the note and duration of the note.

. I am not modeling any constraints to adjustment of the ideal fixed
tuning for each pitch; it is whatever is implied by the sequence.

. The other components of "pain" are as discussed before, associated
with tuning movement ("sliding" of pitch) and less than ideal
tuning compared to exact JI values.

This model is consistent with my use of a big spring matrix that gets
built alongside the sequence, held in program memory. Then, just as it
is possible to approach minimum energy (="pain") by successive
relaxation of each node (the tuning of a given note at a given time), it
is equally possible to approach minimum energy by successive relaxation
of the total "force" on the ideal fixed tuning: I just sum up the
pressure exerted by all notes of a given pitch and divide by the sum of
the spring constants to ground.

I am surprised to find that even a seven-limit rendition of Ravel's
"Le Tombeau de Couperin" has a significant drop in overall pain, about
10%, when the grounding points are adjusted, and that the ideal points
move by up to 6 cents(!). This is a piece that modulates pretty freely,
so I expected everything to come close to averaging out. Not so!

The fact is, I believe there are better ways to attack the problem of
drift, but I haven't figured it/them out yet! Still, I am pleased with
these latest results.

JdL

🔗John Thaden <jjthaden@flash.net>

5/20/2000 6:08:33 PM

I can see how a 'pain' index might include linear penalties for both
loudness and duration, since an unpleasant tuning would then have more
impact. And of course there must also be a penalty for 'out-of-tuneness'
from some optimal tuning, since that is the issue. But by having this last
penalty increase monotonically (as the square, or whatever) with the
distance of the note from some optimal tuning, this 'pain' index may not
relate much to the actual discomfort people experience upon listening to a
particular sequence of pitches. As an example, a wide M3rd that beats at
10-20 cps might be more painful to listen to than an even wider one that
beats at 50 hertz. The monotonic tuning penalty probably describes
reasonably well a listener's sense of a melody being played out of tune,
but not intervalic dissonance. Perhaps another factor in the 'pain' index
is needed that relates to beat frequency.

John Thaden

At 03:57 PM 5/19/2000 -0600, you wrote:
[Paul Erlich:]
>>Can you explain how you calculate "ideal grounding points"?

[John deLaubenfels]
> ... The major assumptions:
>
> . For the entire sequence, there will be some fixed ideal tuning
> for each pitch 0 .. 11 (C .. B).
>
> . There is a calculable "pain" of being away from this ideal,
> proportional to the square of the distance and linear with loudness
> of the note and duration of the note.
> <snip>
> . The other components of "pain" are as discussed before, associated
> with tuning movement ("sliding" of pitch) and less than ideal
> tuning compared to exact JI values.

John Thaden
Little Rock, Arkansas, USA
http://www.flash.net/~jjthaden

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

5/21/2000 11:30:10 AM

[John Thaden, TD 644.21:]
>I can see how a 'pain' index might include linear penalties for both
>loudness and duration, since an unpleasant tuning would then have more
>impact. And of course there must also be a penalty for
>'out-of-tuneness' from some optimal tuning, since that is the issue.
>But by having this last penalty increase monotonically (as the square,
>or whatever) with the distance of the note from some optimal tuning,
>this 'pain' index may not relate much to the actual discomfort people
>experience upon listening to a particular sequence of pitches. As an
>example, a wide M3rd that beats at 10-20 cps might be more painful to
>listen to than an even wider one that beats at 50 hertz. The monotonic
>tuning penalty probably describes reasonably well a listener's sense
>of a melody being played out of tune, but not intervalic dissonance.
>Perhaps another factor in the 'pain' index is needed that relates to
>beat frequency.

I model pain of mistuning as proportional to the square of distance from
JI. You are quite correct to say that such a model fails when the
mistuning stretches beyond a certain point, but I find that it's
possible to keep the tuning within a range that seems (to my ears at
least) quite consistent with the model.

To get a bit more numeric, it's hard for me to relate to CPS, since
their mapping into cents depends upon the octave. But I find that I
can dynamically tune to within, say, 10 cents of ideal (often much
closer). Would your concern reach into such a small range?

JdL

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

5/21/2000 4:34:50 PM

John Thaden wrote,

> As an example, a wide M3rd that beats at
> 10-20 cps might be more painful to listen to than an even wider one
that
> beats at 50 hertz. The monotonic tuning penalty probably describes
> reasonably well a listener's sense of a melody being played out of
tune,
> but not intervalic dissonance. Perhaps another factor in
the 'pain' index
> is needed that relates to beat frequency.

John, are you basing this on personal experience? In my experience,
the wider interval will certainly be more painful, unless it
approaches another simple interval like 9:7. That would happen if the
lower note is around 350 Hz. Two octaves up from there, the equal-
tempered major third beats at 55.55 hertz. In such a fairly normal
register, are you suggesting that in slowly narrowing the equal-
tempered major third to a just one, the dissonance will actually
increase for a while, before it begins to decrease???

Are you basing it on Helmholtz? Helmholtz's theory of sensory
dissonance had been pretty much replaced by the Plomp/Sethares
theory, which ties roughness to critical band overlap and not to the
(necessarily cophenomenal) beating. Critical bandwidth, in cents, is
a mildly varying function of register, while beat rates increase
exponentially with register (linearly with frequency). While tying
dissonance to beat rates would suggest that the cents deviation of
the worst mistuning of an interval would halve with every
transposition up an octave, experience suggests (and the critical
band theory explains) that the dependence of relative dissonance on
register is milder.

Also, beyond this so-called "sensory dissonance" is another
component, the one focused on in Parncutt's work, which I like to
call "harmonic entropy" -- a very real component of dissonance
reflecting the brain's ability to fit the stimulus into the pattern
of a single harmonic series. This explains, for example, why
composers have found harmonic chords useful even when using sine
waves, for which no variety of M3 exhibits any beating whatsoever.
Read more about harmonic entropy in the archives, since Joe Monzo's
page collecting my old posts on the subject appears to be down. But
whether one is focusing on sensory dissonance or harmonic entropy,
all the local minima occur at simple ratios -- one does not find
islands of relative consonance at mistunings of a given beat rate, or
even at the golden ratio, where the distance from the nearest
rationall of a given complexity is maximized.

Within the parameters of John deLaubenfels' tuning algorithm, in
which not only sensory dissonance but deviation from a harmonically
appropriate rendition (you wouldn't want a 9:7 as the lower interval
in a major triad in a classical work) are of importance, I can see no
reason not to use a monotonic tuning penalty for harmonies. In the
four-dimensional space of tetrads, though, I'd be willing to consider
a program which gives two minima for a minor seventh chord
(10:12:15:18 and 12:14:18:21) and maybe three for a minor sixth chord
(10:12:15:17, 5:6:7:9, and 1/7:1/6:1/5:1/4), and maybe four for a
diminished seventh chord (all inversions of 10:12:14:17), if the
different options allow for a reduction in overall tuning motion and
convince me as sounding musically appropriate.

🔗John Thaden <jjthaden@flash.net>

5/22/2000 1:17:10 PM

I wrote:
>> ... of course there must also be a penalty for 'out-of-tuneness' ....
>>But by having this last penalty increase monotonically (as the square,
>>or whatever) with the distance of the note from some optimal tuning,
>>this 'pain' index may not relate much to the actual discomfort people
>>experience upon listening to a particular sequence of pitches....
>>The monotonic tuning penalty probably describes
>>reasonably well a listener's sense of a melody being played out of tune,
>>but not intervalic dissonance. Perhaps another factor in the 'pain' index
>>is needed that relates to beat frequency.

and John deLaubenfels responded:
>I model pain of mistuning as proportional to the square of distance from
>JI. You are quite correct to say that such a model fails when the
>mistuning stretches beyond a certain point, but I find that it's
>possible to keep the tuning within a range that seems (to my ears at
>least) quite consistent with the model.
>
>To get a bit more numeric, it's hard for me to relate to CPS, since
>their mapping into cents depends upon the octave. But I find that I
>can dynamically tune to within, say, 10 cents of ideal (often much
>closer). Would your concern reach into such a small range?

My comment really might better have been phrased as a question about
psychoacoustics, and that is why I gave it a new subject heading. Maybe it
is even so fundamental as to be the question, "what is dissonance, really?"
I can record the 'pain' on faces in the audience if I play a chord which
(because of a failing reed on my harmonica) has a distinctly detuned fifth,
or (on a chromatic harmonica which has side-by-side unisons) a unison that
beats blat-blat-blat at some 5-10 times a second. Ugly. But a slow roll
at 1-2 cycles per second? That can sound even musical, arguably better at
times than matched frequencies.

You ask if my concern extends into the <10 cents range. At 440 cps, unisons
differing by one cent will roll at one cycle every 3.9 seconds, while 880
cps unisons will roll twice as fast. A difference of 10 cents represents
beat rates exactly ten times as fast at either pitch -- for the 440 cps A,
that is 2.55 beats per second and 5.6 bps at 880. These are low beat
rates, so it is a good question you ask, whether my concern about the
nonlinearity (lack of monotonicity) of the 'pain' experience extends into
the <10 cents range.

I think it may, not so much because of beating, but rather, because of
combination tones, particularly, difference tones. I consider much of the
sonority of just intervals to be from difference tones that are in tune
with, or in perfect harmony with, the two or three notes being played.
Because they are generally low, they act almost like pedal point to the
chord. So for a just-tuned (5/4) M3rd (A=440, C# = 550), there is a
difference tone at 110 that is a very low A. If the C# is just two cents
sharp (C# = 550.6357521), then the difference tone is at 110.6357521 cps.
Because of the low pitch, this represents a full 10 cents divergence from
110! If the original M3rd is 10 cents wide, then the difference tone is
inaccurate by a full 50 cents! That, by the way, sounds hideous if the
acoustics in any way accentuate difference tones, as they often do for me.

I realize that the last thing you need in your algorithm is some baroque
mathematical formulation for a pain index by which to adjust (relax?) a
tuning. Except for the problem with combination tones, I'd say your
square-of-the-distance penalty should be OK for +/- 10 cents.

Yours truly,

🔗John Thaden <jjthaden@flash.net>

5/22/2000 1:05:06 PM

I wrote
>> As an example, a wide M3rd that beats at 10-20 cps
>> might be more painful to listen to than an even wider
>> one that beats at 50 hertz.

And Paul Erlich asked
>John, are you basing this on personal experience? In my
>experience, the wider interval will certainly be more painful,
>unless it approaches another simple interval like 9:7. That
>would happen if the lower note is around 350 Hz. Two octaves
>up from there, the equal-tempered major third beats at 55.55
>hertz. In such a fairly normal register, are you suggesting that in
>slowly narrowing the equal-tempered major third to a just one,
>the dissonance will actually increase for a while, before it
>begins to decrease???

Personal experience from awhile ago, that above a certain beat frequency,
the beating became less noticeable, however I must confess that here I
chose the values 10-20 and 50 Hz out of air. Also, back then my attention
was specifically on beat perceptibility, not 'pain'. But if my experience
were fundamentally wrong, then I question whether a 5:4 M3rd -- say that
represented by 350 and 437.5 Hz, to borrow from your example -- would be
pleasant, given that the respective 9th and 7th harmonics are beating away
at a merry 87.5 Hz, and the 8th and 6th at 175! Clearly some beating is
objectionable and some less so, and faster is not necessarily worse.
(Another example, perhaps cooked, of nonmonotonic dissonance is afforded by
echo harmonicas and some electronic organs, where unisons are detuned for
the sake of a tremolo. With the former, we can tune the unison through
embouchure to match the beat rate to the pulse of the song, when it will be
perceived as more pleasing than a more 'in-tune' unison with slower tremolo
not fitting the song.)

>Are you basing it on Helmholtz? Helmholtz's theory of sensory
>dissonance had been pretty much replaced by the Plomp/Sethares
>theory, which ties roughness to critical band overlap and not to the
>(necessarily cophenomenal) beating. Critical bandwidth, in cents, is
>a mildly varying function of register, while beat rates increase
>exponentially with register (linearly with frequency). While tying
>dissonance to beat rates would suggest that the cents deviation of
>the worst mistuning of an interval would halve with every
>transposition up an octave, experience suggests (and the critical
>band theory explains) that the dependence of relative dissonance on
>register is milder.

My interest in (and relative ignorance of) the psychoacoustical basis for
dissonance was what led me to write my comment under a refashioned subject
line. I'd like to read about the critical bandwidth idea and would be
grateful for a reference to the Plomp-Sethares. I agree that the
dependence of relative dissonance on register does seem milder (though
still present) than what would result from the existence of a fixed range
of 'most objectionable' beat rates, but would be the expectation if the
objectionable range is itself dependent upon the pitch at which the beating
is heard.

>Also, beyond this so-called "sensory dissonance" is another
>component, the one focused on in Parncutt's work, which I like to
>call "harmonic entropy" -- a very real component of dissonance
>reflecting the brain's ability to fit the stimulus into the pattern
>of a single harmonic series. This explains, for example, why
>composers have found harmonic chords useful even when using sine
>waves, for which no variety of M3 exhibits any beating whatsoever.

Here I must ask if this is your experience, for I think our creation of
harmonic structure above a sinusoidal fundamental probably occurs at a
level of processing even as basic as the cochlea, and that a sinusoidal
M3rd could indeed be tuned with standard tuning beat tests because of this
fact.

>... [W]hether one is focusing on sensory dissonance or harmonic entropy,
>all the local minima occur at simple ratios -- one does not find
>islands of relative consonance at mistunings of a given beat rate, or
>even at the golden ratio, where the distance from the nearest
>rationall of a given complexity is maximized.

Well there's an archipelago of simple ratios, and if the 'objectionable
beating' range extends to 50 Hz or so, not much ocean between for
undiscovered islands. Back to the M3rd example with base pitch 350 Hz. As
the 3rd is widened from 437.5 Hz (the 5:4) to 450 (the 9:7), when does
one's mind know to stop attending to the accelerating beats at 1750 Hz (the
5:4) and start attending to the slowing beats at 3150 Hz (the 9:7)?
Perhaps when the former become fast enough to fade from notice. It is this
shifting of attention that interests me, and call it a feature of harmonic
entropy, or simple discomfort with beating within a certain frequency
range, both are consistent with a preference for simple ratios. What might
be expected to differ, and therefore be testable, is the shape of the
'pain' function in between two simple ratios, even if the space between is
too small to permit consonance islands other than simple ratios.

>Within the parameters of John deLaubenfels' tuning algorithm, in
>which not only sensory dissonance but deviation from a harmonically
>appropriate rendition (you wouldn't want a 9:7 as the lower interval
>in a major triad in a classical work) are of importance, I can see no
>reason not to use a monotonic tuning penalty for harmonies. In the
>four-dimensional space of tetrads, though, I'd be willing to consider
>a program which gives two minima for a minor seventh chord
>(10:12:15:18 and 12:14:18:21) and maybe three for a minor sixth chord
>(10:12:15:17, 5:6:7:9, and 1/7:1/6:1/5:1/4), and maybe four for a
>diminished seventh chord (all inversions of 10:12:14:17), if the
>different options allow for a reduction in overall tuning motion and
>convince me as sounding musically appropriate.

An interesting proposal, but the devil is in the details -- how to model
those regions between minima and how high, and where, to make each relative
maximum.

John Thaden

********************************************************
John J. Thaden, Ph.D., Research Biochemist, Instructor
Department of Geriatrics (501) 257-5583
U. Arkansas for Medical Sciences FAX: (501) 257-4822
mailing & shipping address: jjthaden@flash.net
Central Arkansas Veterans Healthcare System
Research-LR151 (Room GB103 or GC124)
4300 West 7th Street
Little Rock AR 72205 USA
*******************************************************

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

5/22/2000 1:50:33 PM

John Thaden wrote,

>Clearly some beating is
>objectionable and some less so, and faster is not necessarily worse.

Or maybe beating is just a peripheral phenomenon and you need to look more
closely at better models of dissonance.

>I'd like to read about the critical bandwidth idea and would be
>grateful for a reference to the Plomp-Sethares.

You might want to get Sethares' book, _Tuning, Timbre, Spectrum, Scale_,
published by Springer-Verlag.

>>This explains, for example, why
>>composers have found harmonic chords useful even when using sine
>>waves, for which no variety of M3 exhibits any beating whatsoever.

>Here I must ask if this is your experience,

Absolutely -- if I'm sure to use high-enough fidelity equipment and low
enough amplitude that higher-order combination tones aren't produced.

>for I think our creation of
>harmonic structure above a sinusoidal fundamental probably occurs at a
>level of processing even as basic as the cochlea,

You might be confusing something -- I didn't say that creation of a harmonic
structure above a sinusoidal fundamental occurs in the brain _or_ in the
ear; however, at loud enough amplitudes, the nonlinear response of the
_middle_ ear (before the cochlea gets involved) produces combinational
tones, which include harmonics as well as other integer combinations of the
input frequencies.

>and that a sinusoidal
>M3rd could indeed be tuned with standard tuning beat tests because of this
>fact.

Only if the amplitude is loud enough for the middle ear to produce these
"subjective harmonics".

>Back to the M3rd example with base pitch 350 Hz. As
>the 3rd is widened from 437.5 Hz (the 5:4) to 450 (the 9:7), when does
>one's mind know to stop attending to the accelerating beats at 1750 Hz (the
>5:4) and start attending to the slowing beats at 3150 Hz (the 9:7)?
>Perhaps when the former become fast enough to fade from notice. It is this
>shifting of attention that interests me, and call it a feature of harmonic
>entropy, or simple discomfort with beating within a certain frequency
>range, both are consistent with a preference for simple ratios. What might
>be expected to differ, and therefore be testable, is the shape of the
>'pain' function in between two simple ratios, even if the space between is
>too small to permit consonance islands other than simple ratios.

I'm interested in all this too, but how would you account for my initial
observation, that even though the 12-tET major third at 1400 Hz beats at
55.55 Hz, you don't get anything but a smooth increase in consonance as you
narrow the interval down to a just major third?

>But a slow roll
>at 1-2 cycles per second? That can sound even musical, arguably better at
>times than matched frequencies.

Thankfully, John deLaubenfels often (usually/) runs his programs not to
obtain adaptive JI, but rather adaptive _tuning_: the tradeoffs between
retune motion and JI deviation are never fully decided one way or the other,
and a very slight deviation from JI is the result for most chords.

>You ask if my concern extends into the <10 cents range. At 440 cps, unisons
>differing by one cent will roll at one cycle every 3.9 seconds, while 880
>cps unisons will roll twice as fast. A difference of 10 cents represents
>beat rates exactly ten times as fast at either pitch -- for the 440 cps A,
>that is 2.55 beats per second and 5.6 bps at 880. These are low beat
>rates, so it is a good question you ask, whether my concern about the
>nonlinearity (lack of monotonicity) of the 'pain' experience extends into
>the <10 cents range.

But for intervals like 6:5 in the same registers, the beat rates associated
with a 10-cent mistuning will be 5 or 6 times as fast.

>I think it may, not so much because of beating, but rather, because of
>combination tones, particularly, difference tones. I consider much of the
>sonority of just intervals to be from difference tones that are in tune
>with, or in perfect harmony with, the two or three notes being played.

Aha! You didn't say so before. Modeling these would be tough, since one
would need to know the exact volume with which the music reached the
listener's ears, as the volumes of the difference tones are very sensitive
non-linear functions of the volumes of the objective tones.

>I realize that the last thing you need in your algorithm is some baroque
>mathematical formulation for a pain index by which to adjust (relax?) a
>tuning. Except for the problem with combination tones, I'd say your
>square-of-the-distance penalty should be OK for +/- 10 cents.

Agreed!

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

5/22/2000 2:44:14 PM

I wrote,

>Aha! You didn't say so before. Modeling these would be tough, since one
would >need to know the exact volume with which the music reached the
listener's ears, >as the volumes of the difference tones are very sensitive
non-linear functions >of the volumes of the objective tones.

My suggestion, which may seem like a cop-out, would be that classical music
is ordinarily listened to at volumes where combination tones are generally
unimportant, compared with the amplitudes of the brain's virtual
fundamentals (which are actually different in pitch from the difference
tones and don't magnify the errors of temperament); a consideration of
combination tones would still imply a monotonic increase in dissonance as
one moves from just to tempered interval, though a faster one; so I wouldn't
be too concerned about the "exception" in John Thaden's statement below:

>Except for the problem with combination tones, I'd say your
>square-of-the-distance penalty should be OK for +/- 10 cents.

However, combinational tones and harmonic entropy _do_ imply much greater
dissonance for utonal chords than their otonal counterparts, while beating
and critical band roughness do not. So for chords of three or more notes,
the considerations could get pretty involved.

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

5/23/2000 7:26:37 AM

John Thaden and Paul Erlich have covered most of what I would have to
say on this subject. I have just a couple of quick comments.

I've given some thought to modeling difference tones and their out-of-
tuneness against other difference tones and other actual notes. In
chords of three or more notes, doing so in effect tightens the tuning
requirements and creates "springs" that tie together several notes, a
modeling headache but certainly possible, especially given successive
relaxation toward a minimum energy ("pain") state.

In regard to the potential benefits of slight deviation from exact JI,
Paul is correct that I "often (usually/)" do this. In fact, since the
spring model early this year, I ALWAYS do this, trading nearness to JI
against reduced tuning motion. For people like Carl Lumma, who desire
exact vertical JI, I have in mind changes to the program that would
allow the benefits of springs for drift control but still allow
infinitely rigid vertical tuning, but haven't programmed them yet (the
challenge is that the successive relaxation I'm now doing fails when
rigid springs are mixed with non-rigid ones; the solution is more
sophisticated relaxation techniques - sorry to keep you waiting, Carl!).

John and Paul, thanks for your posts!

JdL