Thursday, August 29, 2019

A Cosine-derived Well Temperament

Ever since I read about Brad Lehman's "Bach" tuning (some time in 2006), I have been interested in experimenting with unequal "well" temperaments for keyboard instruments.  But, it was only recently that I got a hardware synthesizer with reasonable capabilities for custom tunings.

While there seems to be insufficient proof that Lehman's tuning truly recreates anything used by J. S. Bach, it does adhere to the general goal that's implied in other historical well temperaments I've since read about:  A gradual change in "coloration" of the tuning as you go around the circle of fifths, with the most "just" major third (i.e. flat of equal-tempered) occurring in the key of C and the most "Pyhagorean" major third (i.e. sharp of ET) at the other side of the circle at F♯.  The width of the fifths in these temperaments appear to have been derived by trial and error to close the circle while achieving the desired thirds.  Precision was of course limited by the mechanical precision of the piano and the capabilities of the human tuner.

I decided to develop a well temperament mathematically, using a cosine function to adjust the width of the fifths gradually.  I used a spreadsheet to derive the thirds, and below are links (to Google Sheets) and a copy of the output, with two variations. The amount of stretch was chosen so that the widest fifths would be just (i.e. 3:2, about 701.955¢). For each of version, the flattest third (C-E) ends up about 7¢ sharp of just, and the sharpest third is about 20¢ sharp of just (but not quite Pythagorean).

Centered on C, with just fifths at C♯-G♯ and G♯-D♯:

-->
NoteIndexCosineFifthDegreeM3∆ Just
C00.7071698.5688400.000000C-E:393.2276786.913964
G10.9659698.044999698.568840G-B:394.1349977.821284
D20.9659698.044999196.613839D-F#:396.61383910.300125
A30.7071698.568840894.658838A-C#:400.00000013.686286
E40.2588699.476159393.227678E-G#:403.38616117.072447
B5-0.2588700.5238411092.703837B-D#:405.86500319.551289
F#6-0.7071701.431160593.227678F#-A#:406.77232220.458608
C#7-0.9659701.95500194.658838C#-F:405.86500319.551289
G#8-0.9659701.955001796.613839G#-C:403.38616117.072447
D#9-0.7071701.431160298.568840D#-G:400.00000013.686286
A#10-0.2588700.5238411000.000000A#-D:396.61383910.300125
F110.2588699.476159500.523841F-A:394.1349977.821284

Centered between C and G
, with a just fifth at G♯-D♯:

-->
NoteIndexCosineFifthDegreeM3∆ Just
C00.5000699.0225000.000000C-E:393.6813387.367624
G10.8660698.306920699.022500G-B:393.6813387.367624
D21.0000698.044999197.329419D-F#:395.3744189.060704
A30.8660698.306920895.374418A-C#:398.30692011.993206
E40.5000699.022500393.681338E-G#:401.69308015.379367
B50.0000700.0000001092.703837B-D#:404.62558218.311868
F#6-0.5000700.977500592.703837F#-A#:406.31866220.004948
C#7-0.8660701.69308093.681338C#-F:406.31866220.004948
G#8-1.0000701.955001795.374418G#-C:404.62558218.311868
D#9-0.8660701.693080297.329419D#-G:401.69308015.379367
A#10-0.5000700.977500999.022500A#-D:398.30692011.993206
F110.0000700.000000500.000000F-A:395.3744189.060704

Here are the tunings in Scala format if you would like to use them:

! Cosine C Well.scl
!
C-Centered Cosine Well
 12
!
 94.65884
 196.61384
 298.56884
 393.22768
 500.52384
 593.22768
 698.56884
 796.61384
 894.65884
 1000.00000
 1092.70384
 2/1

! Cosine CG Well.scl
!
C/G-Centered Cosine Well
 12
!
 93.68134
 197.32942
 297.32942
 393.68134
 500.00000
 592.70384
 699.02250
 795.37442
 895.37442
 999.02250
 1092.70384
 2/1

Incidentally, these are rather nice-looking when viewed through Scala's temperament radar:

C-Centered Cosine Well Temperament - Radar

C/G-Centered Cosine Well Temperament - Radar