> To make any sense at all out of the synthesizer settings, you need the magic 
> table in
> the manual. They are very random and not all settings actually work ( = 
> produce a 
> stable output). 

A few of the entries have very much longer moduli than the rest,
and those will probably be less stable for that reason.

I suspect the published list was tweaked to ensure even-ish coverage.

I once hacked a small python script (attached) to reproduce the table
from the manual, here is the output from it:

    +---------------------------+-----------------------------+
    | Thumb   Offset     Freq   |  Thumb    Offset     Freq   |
    +---------------------------+-----------------------------+
    | 0001  -213.719 5314955.00 |  9348  -1000.603 5314417.19 |
    | 0002  -199.087 5314965.00 |  7885   -995.309 5314420.81 |
    | 0003  -923.334 5314470.00 |  9189   -986.777 5314426.64 |
    | 0004  -616.078 5314680.00 |  9030   -977.471 5314433.00 |
    | 0005  -602.910 5314689.00 |  8871   -970.785 5314437.57 |
    | 5691  -940.723 5314458.12 |  8712   -965.767 5314441.00 |
    | 5726  -596.318 5314693.51 |  8394   -958.686 5314445.84 |
    | 5952  -191.236 5314970.37 |  7758   -950.566 5314451.39 |
    | 5980  -621.015 5314676.63 |  5691   -940.723 5314458.12 |
    | 6301  -221.040 5314950.00 |  9841   -930.036 5314465.42 |
    | 6518  -916.829 5314474.45 |  0003   -923.334 5314470.00 |
    | 6519  -784.650 5314564.79 |  6518   -916.829 5314474.45 |
    | 7013  -591.165 5314697.03 |  7472   -911.838 5314477.86 |
    | 7207   -40.474 5315073.41 |  8267   -903.497 5314483.56 |
    | 7318   -55.120 5315063.40 |  8744   -893.401 5314490.46 |
    | 7443  -408.216 5314822.07 |  8903   -888.104 5314494.08 |
    | 7472  -911.838 5314477.86 |  9062   -880.993 5314498.94 |
    | 7603  -181.446 5314977.06 |  9221   -870.970 5314505.79 |
    | 7696  -630.493 5314670.15 |  8601   -864.270 5314510.37 |
    | 7697  -430.586 5314806.78 |  9380   -855.827 5314516.14 |
    | 7698  -230.489 5314943.54 |  8919   -844.913 5314523.60 |
    | 7743  -766.959 5314576.88 |  8458   -840.524 5314526.60 |
    | 7758  -950.566 5314451.39 |  9539   -830.236 5314533.63 |
    | 7777  -309.118 5314889.80 |  7854   -822.836 5314538.69 |
    | 7792  -492.447 5314764.50 |  8776   -817.274 5314542.49 |
    | 7854  -822.836 5314538.69 |  9237   -809.431 5314547.85 |
    | 7885  -995.309 5314420.81 |  8935   -800.433 5314554.00 |
    | 7888  -341.848 5314867.43 |  8029   -789.973 5314561.15 |
    | 7918  -731.156 5314601.35 |  6519   -784.650 5314564.79 |
    | 7919  -509.961 5314752.53 |  9698   -777.681 5314569.55 |
    | 8014  -582.532 5314702.93 |  7743   -766.959 5314576.88 |
    | 8029  -789.973 5314561.15 |  8347   -763.037 5314579.56 |
    | 8031  -322.490 5314880.66 |  8951   -754.594 5314585.33 |
    | 8142  -360.488 5314854.69 |  9253   -745.259 5314591.71 |
    | 8238  -172.783 5314982.98 |  8808   -737.036 5314597.33 |
    | 8253  -403.313 5314825.42 |  7918   -731.156 5314601.35 |
    | 8267  -903.497 5314483.56 |  9555   -723.253 5314606.75 |
    | 8333  -240.028 5314937.02 |  8522   -712.134 5314614.35 |
    | 8347  -763.037 5314579.56 |  8967   -707.335 5314617.63 |
    | 8379  -702.976 5314620.61 |  8379   -702.976 5314620.61 |
    | 8394  -958.686 5314445.84 |  9412   -695.293 5314625.86 |
    | 8397   -97.666 5315034.32 |  8681   -685.857 5314632.31 |
    | 8411  -640.485 5314663.32 |  9269   -678.277 5314637.49 |
    | 8413   -60.283 5315059.87 |  9126   -666.821 5314645.32 |
    | 8429   -22.139 5315085.94 |  8983   -658.598 5314650.94 |
    | 8458  -840.524 5314526.60 |  8697   -647.552 5314658.49 |
    | 8459  -541.900 5314730.70 |  8411   -640.485 5314663.32 |
    | 8491  -472.679 5314778.01 |  7696   -630.493 5314670.15 |
    | 8522  -712.134 5314614.35 |  5980   -621.015 5314676.63 |
    | 8556    -6.016 5315096.96 |  0004   -616.078 5314680.00 |
    | 8571  -286.087 5314905.54 |  9857   -608.295 5314685.32 |
    | 8586  -572.113 5314710.05 |  0005   -602.910 5314689.00 |
    | 8601  -864.270 5314510.37 |  5726   -596.318 5314693.51 |
    | 8618  -497.231 5314761.23 |  7013   -591.165 5314697.03 |
    | 8619  -163.755 5314989.15 |  8014   -582.532 5314702.93 |
    | 8635  -121.061 5315018.33 |  8586   -572.113 5314710.05 |
    | 8651   -77.372 5315048.19 |  8872   -562.939 5314716.32 |
    | 8667   -32.615 5315078.78 |  9015   -556.355 5314720.82 |
    | 8681  -685.857 5314632.31 |  9158   -547.532 5314726.85 |
    | 8682  -336.579 5314871.03 |  8459   -541.900 5314730.70 |
    | 8697  -647.552 5314658.49 |  9301   -535.095 5314735.35 |
    | 8712  -965.767 5314441.00 |  8745   -526.756 5314741.05 |
    | 8714  -250.255 5314930.03 |  9444   -516.279 5314748.21 |
    | 8744  -893.401 5314490.46 |  7919   -509.961 5314752.53 |
    | 8745  -526.756 5314741.05 |  9031   -502.702 5314757.49 |
    | 8776  -817.274 5314542.49 |  8618   -497.231 5314761.23 |
    | 8777  -440.973 5314799.68 |  7792   -492.447 5314764.50 |
    | 8793  -396.362 5314830.17 |  9587   -484.412 5314769.99 |
    | 8808  -737.036 5314597.33 |  8491   -472.679 5314778.01 |
    | 8825  -303.512 5314893.63 |  8904   -468.260 5314781.03 |
    | 8841  -255.171 5314926.67 |  9317   -458.486 5314787.71 |
    | 8871  -970.785 5314437.57 |  9047   -447.250 5314795.39 |
    | 8872  -562.939 5314716.32 |  8777   -440.973 5314799.68 |
    | 8873  -154.361 5314995.57 |  7697   -430.586 5314806.78 |
    | 8889  -101.777 5315031.51 |  9730   -418.820 5314814.82 |
    | 8903  -888.104 5314494.08 |  7443   -408.216 5314822.07 |
    | 8904  -468.260 5314781.03 |  8253   -403.313 5314825.42 |
    | 8919  -844.913 5314523.60 |  8793   -396.362 5314830.17 |
    | 8935  -800.433 5314554.00 |  9063   -389.895 5314834.59 |
    | 8936  -367.890 5314849.63 |  9333   -378.190 5314842.59 |
    | 8951  -754.594 5314585.33 |  8936   -367.890 5314849.63 |
    | 8967  -707.335 5314617.63 |  8142   -360.488 5314854.69 |
    | 8968  -261.286 5314922.49 |  9603   -350.565 5314861.47 |
    | 8983  -658.598 5314650.94 |  7888   -341.848 5314867.43 |
    | 9000  -147.865 5315000.01 |  8682   -336.579 5314871.03 |
    | 9015  -556.355 5314720.82 |  9079   -330.551 5314875.15 |
    | 9030  -977.471 5314433.00 |  8031   -322.490 5314880.66 |
    | 9031  -502.702 5314757.49 |  9476   -315.392 5314885.51 |
    | 9032   -26.952 5315082.65 |  7777   -309.118 5314889.80 |
    | 9047  -447.250 5314795.39 |  8825   -303.512 5314893.63 |
    | 9062  -880.993 5314498.94 |  9349   -293.957 5314900.16 |
    | 9063  -389.895 5314834.59 |  8571   -286.087 5314905.54 |
    | 9079  -330.551 5314875.15 |  9222   -279.502 5314910.04 |
    | 9095  -269.114 5314917.14 |  9095   -269.114 5314917.14 |
    | 9126  -666.821 5314645.32 |  8968   -261.286 5314922.49 |
    | 9127  -139.481 5315005.74 |  8841   -255.171 5314926.67 |
    | 9143   -71.036 5315052.52 |  8714   -250.255 5314930.03 |
    | 9158  -547.532 5314726.85 |  8333   -240.028 5314937.02 |
    | 9159     0.013 5315101.08 |  7698   -230.489 5314943.54 |
    | 9189  -986.777 5314426.64 |  6301   -221.040 5314950.00 |
    | 9221  -870.970 5314505.79 |  0001   -213.719 5314955.00 |
    | 9222  -279.502 5314910.04 |  9873   -205.467 5314960.64 |
    | 9237  -809.431 5314547.85 |  0002   -199.087 5314965.00 |
    | 9253  -745.259 5314591.71 |  5952   -191.236 5314970.37 |
    | 9254  -128.259 5315013.41 |  7603   -181.446 5314977.06 |
    | 9269  -678.277 5314637.49 |  8238   -172.783 5314982.98 |
    | 9301  -535.095 5314735.35 |  8619   -163.755 5314989.15 |
    | 9317  -458.486 5314787.71 |  8873   -154.361 5314995.57 |
    | 9333  -378.190 5314842.59 |  9000   -147.865 5315000.01 |
    | 9348 -1000.603 5314417.19 |  9127   -139.481 5315005.74 |
    | 9349  -293.957 5314900.16 |  9254   -128.259 5315013.41 |
    | 9380  -855.827 5314516.14 |  8635   -121.061 5315018.33 |
    | 9381  -112.413 5315024.24 |  9381   -112.413 5315024.24 |
    | 9397   -14.413 5315091.22 |  8889   -101.777 5315031.51 |
    | 9412  -695.293 5314625.86 |  8397    -97.666 5315034.32 |
    | 9444  -516.279 5314748.21 |  9508    -88.388 5315040.66 |
    | 9476  -315.392 5314885.51 |  8651    -77.372 5315048.19 |
    | 9508   -88.388 5315040.66 |  9143    -71.036 5315052.52 |
    | 9539  -830.236 5314533.63 |  8413    -60.283 5315059.87 |
    | 9555  -723.253 5314606.75 |  7318    -55.120 5315063.40 |
    | 9587  -484.412 5314769.99 |  9635    -47.655 5315068.50 |
    | 9603  -350.565 5314861.47 |  7207    -40.474 5315073.41 |
    | 9635   -47.655 5315068.50 |  8667    -32.615 5315078.78 |
    | 9698  -777.681 5314569.55 |  9032    -26.952 5315082.65 |
    | 9730  -418.820 5314814.82 |  8429    -22.139 5315085.94 |
    | 9841  -930.036 5314465.42 |  9397    -14.413 5315091.22 |
    | 9857  -608.295 5314685.32 |  8556     -6.016 5315096.96 |
    | 9873  -205.467 5314960.64 |  9159      0.013 5315101.08 |
    +---------------------------+-----------------------------+

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
p...@freebsd.org         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
#!/usr/bin/env python

d = set ([
	9348,	9189,	9030,	8871,	8394,	7758,	5691,	9841,
	7472,	8267,	8744,	8903,	9062,	9221,	9380,	8919,
	8458,	9539,	8776,	9237,	8935,	8029,	9698,	8347,
	8951,	9253,	8808,

	9555,	8522,	8967,	9412,	8681,	9269,	9126,	8983,
	8697,	8411,	7696,	5980,	9857,	7013,	8014,	8586,
	8872,	9015,	9158,	9301,	8745,	9444,	9031,	8618,
	9587,	8491,	8904,	9317,	9047,	8777,	7697,	9730,
	8253,	8793,	9063,	9333,	8936,	8142,	9603,	8682,
	9079,	9476,	8825,	9349,	8571,	9222,	9095,	8841,
	8714,	8333,	7698,	6301,	9873,	5952,	7603,	8238,
	8619,	8873,	9000,	9127,	9254,	9381,

	8889,	8397,	9508,	8651,	9143,	8413,	9635,	8667,
	9032,	9397,	8556,	9159,

	8429,	7885,	6518,	5726,	8635,	7777,	7443,	7207,
	8601,	7743,	8031,	8968,	7918,	7888,	7919,	7854,
	7792,	7318,	8459,	6519,	8712,	8379,
])

def oo(f):
	if f == 0:
		return 0
	o = (60e6*114-f) / (60e6*114-5315101.07) - 1
	o *= -1e10
	return o

def xx(n, m, t, f):
	o = oo(f)
	if o < -1001:
		return
	if o > 1:
		return
	ll.append([o,n, m, t, f])


ll=[]
for t in range(5691,9990):
	n = 10000-t
	r = 5e6/n
	p = n / 5e6
	m = int(5.315e6/r + .5)
	f = 5e6*m/n
	xx(n, m, t, f)

xx(0, 0, 1, 5314955)
xx(0, 0, 2, 5314965)
xx(0, 0, 3, 5314470)
xx(0, 0, 4, 5314680)
xx(0, 0, 5, 5314689)
ll.sort()

ly = []
lz = []
lw = []
ff = True
gi = 0
l = 5314417.17
for o,n,m,t,f in ll:
	if f == ff:
		continue
	if t in d or n == 0:
		gy = gi ^ (gi >> 1)
		ly.append([gy & 0x7f, float("%.2f%04d" % (f,t)), t])
		lz.append([gy & 0x7f, float("%.2f%04d" % (f,t)), gi, t])
		gi += 1

for gi in range(127):
	f = 5314417. + 5.45 * gi
	lw.append([gi | 0x80, f])

lw.append([255, 0])

ly.sort(key=lambda x: x[2])
lz.sort(key=lambda x: x[2])
lw.sort()
print("    +---------------------------+-----------------------------+")
print("    | Thumb   Offset     Freq   |  Thumb    Offset     Freq   |")
print("    +---------------------------+-----------------------------+")
r = {}
for i in range(128):
	r[ly[i][0]] = ly[i][1]
	r[lw[i][0]] = lw[i][1]
	s = "    | "
	s += "%04d " % ly[i][2]
	s += "%9.3f " % oo(ly[i][1])
	s += "%10.2f | " % ly[i][1]
	print(
		s,

		"%04d " % lz[i][3],
		# "%3d" % lz[i][0],
		"%9.3f" % oo(lz[i][1]),
		"%10.2f |" % lz[i][1],

	)

print("    +---------------------------+-----------------------------+")
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to 
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Reply via email to