Jump to content
analmux

How to improve the PoKey "NOTE-2-PITCH" table, compared to RMT.

Recommended Posts

Remember RMT's 'pure frequency table', for a discrete approximation of a modern chromatic tone ladder:

 

FRQTABPURE

DTA $F3,$E6,$D9,$CC,$C1,$B5,$AD,$A2
DTA $99,$90,$88,$80,$79,$72,$6C,$66
DTA $60,$5B,$55,$51,$4C,$48,$44,$40
DTA $3C,$39,$35,$32,$2F,$2D,$2A,$28
DTA $25,$23,$21,$1F,$1D,$1C,$1A,$18
DTA $17,$16,$14,$13,$12,$11,$10,$0F
DTA $0E,$0D,$0C,$0B,$0A,$09,$08,$07
DTA $06,$05,$04,$03,$02,$01,$00,$00

I'm studying an alternative "NOTE-2-PITCH" table (see below), to compare with the already existing above. See also BASIC or TURBOBASIC download at the bottom.

 

I'm looking at 'absolute least mean square' and 'relative least mean square' to find a minimal distance series, to find an improved table:

 

post-3860-0-14112200-1422233717_thumb.pngpost-3860-0-13174800-1422233723_thumb.png

 

One of my solutions is just starting at AUDF+1=256, and I'm surprised that it's not equal to RMT's table.

 

post-3860-0-86682100-1422233342_thumb.pngpost-3860-0-96691800-1422233348_thumb.png

 

However, maybe RaSter used another optimization, because the distortion 12 basses need to define the minimal solution, not distortion 10.

 

FRQTABBASS2

DTA $FF,$F1,$E4,$D8,$CA,$C0,$B5,$AB
DTA $A2,$99,$8E,$87,$7F,$79,$73,$70
DTA $66,$61,$5A,$55,$52,$4B,$48,$43
DTA $3F,$3C,$39,$37,$33,$30,$2D,$2A
DTA $28,$25,$24,$21,$1F,$1E,$1C,$1B
DTA $19,$17,$16,$15,$13,$12,$11,$10
DTA $0F,$0E,$0D,$0C,$0B,$0A,$09,$08
DTA $07,$06,$05,$04,$03,$02,$01,$00

Does any of you have another idea?

TEST2015.ATR

  • Like 1

Share this post


Link to post
Share on other sites

I don't know if this will help, but I also compiled my own POKEY note table, covering distortions 2, 10, 12a and 12b (the last one being (freq+1)mod 3 = 0, for less buzzy bass sounds).

 

http://atariage.com/forums/topic/216807-complete-pokey-note-table-for-all-distortion-settings/

 

I did this, based on the already existing distortion 10 note tables in 8 and 16-bit mode, and matching the pitches by ear. As it's based on distortion 10, I've probably gotten the same results as Raster's table. Shame he isn't around for us to ask anymore. :(

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for another detailed reference. And, indeed, RaSter's table and the "COMPUTE! ISSUE 34 / MARCH 1983 / PAGE 214" table looks the same.

Edited by analmux

Share this post


Link to post
Share on other sites

My next step will be:

• Create a new set of "note-2-pitch" tables
• PHI = PAL or NTSC base clock
• Base frequency will be 15 kHz, thus PHI / 256*114 ~ 60 Hz will be the lowest note in this table.

 

Thus using my alternative table, starting with AUDF+1=256, may give a best approximation of a real chromatic modern western scale.

post-3860-0-01613500-1422285489_thumb.png

 

  • Like 1

Share this post


Link to post
Share on other sites

... And I'm just thinking about how to improve the whole-number-discretization:

 

(1) Standard linear approximation (LINAPP):

 

LINAPP gives us B := INT(A+0.5), and it is equivalent to:

 

A0 := INT(A) so that A0 <= A < A0+1

B := A0 iff A-A0 < 0.5 thus iff A < A0+0.5

B := A0+1 iff A-A0 => 0.5 thus iff A => A0+0.5

 

(2) Logarith approximation (LOGAPP):

 

A0 := INT(A) so that A0 <= A < A0+1 and LOG(A0) <= LOG(A) < LOG(A0+1)

Define C := (LOG(A0)+LOG(A0+1))/2 = LOG(SQR(A0*(A0+1)))

B := A0 iff LOG(A) < C thus iff A < SQR(A0*(A0+1))

B := A0+1 iff A => SQR(A0*(A0+1))

 

 

Now I think if A > 10 then the difference between LINAPP and LOGAPP is small enough, so that we can use LINAPP as a sufficiently approximation of LOGAPP. Then the LOGAPP idea can be ignored. But if A is critical, for example A=1.42, then B=1 gives the best LINAPP solution, but not w.r.t. LOGAPP.

Edited by analmux

Share this post


Link to post
Share on other sites

This is interesting to me, because I'd always wondered how the Atari 12 note scales were derived, especially in relation to RMT. I was mainly just curious if it was all based on equal temperament. So I wrote a little program today in order to produce a table to compare with a precise equal temperament for Middle C at 440, and then compare the produced table with what you've posted above for RMT (which coincides with the article in Compute that you pointed out).

 

The results by comparison look to show the scale used by RMT / Compute has been shifted up in pitch for the lower notes, most likely to compensate for the unavoidable sharpness in the higher notes -- although quite a few are flat as well. All the values produced below are exactly +1 (= lower in pitch) compared to RMT's table, until you get to a certain point in the higher notes, then everything coincides. I checked the values by hand to see whether they were actually closer than RMT's to the precise equal tempered scale, and they were. Whether or not this would actually sound better in practice or not I don't know, as it would need a real-world test. Never the less it's satisfied my curiosity about the data.

 

[Note: The octave numbers listed do not coincide with what's shown on the article in Compute, but are based on octaves for an actual 88 key piano/keyboard.]

 

I like the idea you have, even though it doesn't attempt to match up with Middle C = 440, as it looks like you're trying to get the most accurate scale based on fitting to the available values on the Atari.

 

Next I'll perform the same comparison on the 16-bit values to see how things match up with the article in Compute.

 

post-6369-0-99404400-1422509086_thumb.png


OCTAVE - NOTE      = 3 - C 
FREQUENCY DIVISOR  = 244, $F4
ATARI FREQUENCY    = 261.971311
TEMPERED FREQUENCY = 261.625561
CENTS ERROR        = 2.2863857

------------------------------

OCTAVE - NOTE      = 3 - C#
FREQUENCY DIVISOR  = 231, $E7
ATARI FREQUENCY    = 276.714285
TEMPERED FREQUENCY = 277.18262
CENTS ERROR        = -2.92762851

------------------------------

OCTAVE - NOTE      = 3 - D 
FREQUENCY DIVISOR  = 218, $DA
ATARI FREQUENCY    = 293.215596
TEMPERED FREQUENCY = 293.664761
CENTS ERROR        = -2.64998176

------------------------------

OCTAVE - NOTE      = 3 - D#
FREQUENCY DIVISOR  = 205, $CD
ATARI FREQUENCY    = 311.809756
TEMPERED FREQUENCY = 311.126975
CENTS ERROR        = 3.7951002

------------------------------

OCTAVE - NOTE      = 3 - E 
FREQUENCY DIVISOR  = 194, $C2
ATARI FREQUENCY    = 329.48969
TEMPERED FREQUENCY = 329.627548
CENTS ERROR        = -0.7242334751

------------------------------

OCTAVE - NOTE      = 3 - F 
FREQUENCY DIVISOR  = 183, $B7
ATARI FREQUENCY    = 349.295081
TEMPERED FREQUENCY = 349.22822
CENTS ERROR        = 0.3314137507

------------------------------

OCTAVE - NOTE      = 3 - F#
FREQUENCY DIVISOR  = 173, $AD
ATARI FREQUENCY    = 369.485549
TEMPERED FREQUENCY = 369.994416
CENTS ERROR        = -2.38269943

------------------------------

OCTAVE - NOTE      = 3 - G 
FREQUENCY DIVISOR  = 163, $A3
ATARI FREQUENCY    = 392.153374
TEMPERED FREQUENCY = 391.995428
CENTS ERROR        = 0.6974091715

------------------------------

OCTAVE - NOTE      = 3 - G#
FREQUENCY DIVISOR  = 154, $9A
ATARI FREQUENCY    = 415.071428
TEMPERED FREQUENCY = 415.304681
CENTS ERROR        = -0.9726206825

------------------------------

OCTAVE - NOTE      = 4 - A 
FREQUENCY DIVISOR  = 145, $91
ATARI FREQUENCY    = 440.834482
TEMPERED FREQUENCY = 440
CENTS ERROR        = 3.280263

------------------------------

OCTAVE - NOTE      = 4 - A#
FREQUENCY DIVISOR  = 137, $89
ATARI FREQUENCY    = 466.576642
TEMPERED FREQUENCY = 466.163747
CENTS ERROR        = 1.53271051

------------------------------

OCTAVE - NOTE      = 4 - B 
FREQUENCY DIVISOR  = 129, $81
ATARI FREQUENCY    = 495.511627
TEMPERED FREQUENCY = 493.883285
CENTS ERROR        = 5.6985076

------------------------------

OCTAVE - NOTE      = 4 - C 
FREQUENCY DIVISOR  = 122, $7A
ATARI FREQUENCY    = 523.942622
TEMPERED FREQUENCY = 523.251124
CENTS ERROR        = 2.2863857

------------------------------

OCTAVE - NOTE      = 4 - C#
FREQUENCY DIVISOR  = 115, $73
ATARI FREQUENCY    = 555.834782
TEMPERED FREQUENCY = 554.365251
CENTS ERROR        = 4.58313622

------------------------------

OCTAVE - NOTE      = 4 - D 
FREQUENCY DIVISOR  = 109, $6D
ATARI FREQUENCY    = 586.431192
TEMPERED FREQUENCY = 587.32952
CENTS ERROR        = -2.64998176

------------------------------

OCTAVE - NOTE      = 4 - D#
FREQUENCY DIVISOR  = 103, $67
ATARI FREQUENCY    = 620.592233
TEMPERED FREQUENCY = 622.253959
CENTS ERROR        = -4.62946556

------------------------------

OCTAVE - NOTE      = 4 - E 
FREQUENCY DIVISOR  = 97, $61
ATARI FREQUENCY    = 658.979381
TEMPERED FREQUENCY = 659.255104
CENTS ERROR        = -0.7242334751

------------------------------

OCTAVE - NOTE      = 4 - F 
FREQUENCY DIVISOR  = 92, $5C
ATARI FREQUENCY    = 694.793478
TEMPERED FREQUENCY = 698.456448
CENTS ERROR        = -9.10314599

------------------------------

OCTAVE - NOTE      = 4 - F#
FREQUENCY DIVISOR  = 86, $56
ATARI FREQUENCY    = 743.267441
TEMPERED FREQUENCY = 739.988843
CENTS ERROR        = 7.65346401

------------------------------

OCTAVE - NOTE      = 4 - G 
FREQUENCY DIVISOR  = 82, $52
ATARI FREQUENCY    = 779.52439
TEMPERED FREQUENCY = 783.990861
CENTS ERROR        = -9.89124021

------------------------------

OCTAVE - NOTE      = 4 - G#
FREQUENCY DIVISOR  = 77, $4D
ATARI FREQUENCY    = 830.142857
TEMPERED FREQUENCY = 830.609375
CENTS ERROR        = -0.9726605457

------------------------------

OCTAVE - NOTE      = 5 - A 
FREQUENCY DIVISOR  = 73, $49
ATARI FREQUENCY    = 875.630136
TEMPERED FREQUENCY = 880
CENTS ERROR        = -8.61833051

------------------------------

OCTAVE - NOTE      = 5 - A#
FREQUENCY DIVISOR  = 69, $45
ATARI FREQUENCY    = 926.391304
TEMPERED FREQUENCY = 932.327514
CENTS ERROR        = -11.05819368

------------------------------

OCTAVE - NOTE      = 5 - B 
FREQUENCY DIVISOR  = 65, $41
ATARI FREQUENCY    = 983.4
TEMPERED FREQUENCY = 987.766582
CENTS ERROR        = -7.6701858

------------------------------

OCTAVE - NOTE      = 5 - C 
FREQUENCY DIVISOR  = 61, $3D
ATARI FREQUENCY    = 1047.885245
TEMPERED FREQUENCY = 1046.502231
CENTS ERROR        = 2.28640245

------------------------------

OCTAVE - NOTE      = 5 - C#
FREQUENCY DIVISOR  = 58, $3A
ATARI FREQUENCY    = 1102.086206
TEMPERED FREQUENCY = 1108.730485
CENTS ERROR        = -10.4059929

------------------------------

OCTAVE - NOTE      = 5 - D 
FREQUENCY DIVISOR  = 54, $36
ATARI FREQUENCY    = 1183.722222
TEMPERED FREQUENCY = 1174.659043
CENTS ERROR        = 13.30620873

------------------------------

OCTAVE - NOTE      = 5 - D#
FREQUENCY DIVISOR  = 51, $33
ATARI FREQUENCY    = 1253.352941
TEMPERED FREQUENCY = 1244.507888
CENTS ERROR        = 12.26081231

------------------------------

OCTAVE - NOTE      = 5 - E 
FREQUENCY DIVISOR  = 48, $30
ATARI FREQUENCY    = 1331.6875
TEMPERED FREQUENCY = 1318.510184
CENTS ERROR        = 17.21622161

------------------------------

OCTAVE - NOTE      = 5 - F 
FREQUENCY DIVISOR  = 46, $2E
ATARI FREQUENCY    = 1389.586956
TEMPERED FREQUENCY = 1396.912899
CENTS ERROR        = -9.10314599

------------------------------

OCTAVE - NOTE      = 5 - F#
FREQUENCY DIVISOR  = 43, $2B
ATARI FREQUENCY    = 1486.534883
TEMPERED FREQUENCY = 1479.97765
CENTS ERROR        = 7.65349869

------------------------------

OCTAVE - NOTE      = 5 - G 
FREQUENCY DIVISOR  = 41, $29
ATARI FREQUENCY    = 1559.04878
TEMPERED FREQUENCY = 1567.981687
CENTS ERROR        = -9.89120035

------------------------------

OCTAVE - NOTE      = 5 - G#
FREQUENCY DIVISOR  = 38, $26
ATARI FREQUENCY    = 1682.131578
TEMPERED FREQUENCY = 1661.218732
CENTS ERROR        = 21.65820486

------------------------------

OCTAVE - NOTE      = 6 - A 
FREQUENCY DIVISOR  = 36, $24
ATARI FREQUENCY    = 1775.583333
TEMPERED FREQUENCY = 1760
CENTS ERROR        = 15.26116116

------------------------------

OCTAVE - NOTE      = 6 - A#
FREQUENCY DIVISOR  = 34, $22
ATARI FREQUENCY    = 1880.029411
TEMPERED FREQUENCY = 1864.654995
CENTS ERROR        = 14.21579423

------------------------------

OCTAVE - NOTE      = 6 - B 
FREQUENCY DIVISOR  = 32, $20
ATARI FREQUENCY    = 1997.53125
TEMPERED FREQUENCY = 1975.533144
CENTS ERROR        = 19.17121828

------------------------------

OCTAVE - NOTE      = 6 - C 
FREQUENCY DIVISOR  = 31, $1F
ATARI FREQUENCY    = 2061.967741
TEMPERED FREQUENCY = 2093.004471
CENTS ERROR        = -25.86435939

------------------------------

OCTAVE - NOTE      = 6 - C#
FREQUENCY DIVISOR  = 29, $1D
ATARI FREQUENCY    = 2204.172413
TEMPERED FREQUENCY = 2217.460987
CENTS ERROR        = -10.4059929

------------------------------

OCTAVE - NOTE      = 6 - D 
FREQUENCY DIVISOR  = 27, $1B
ATARI FREQUENCY    = 2367.444444
TEMPERED FREQUENCY = 2349.318064
CENTS ERROR        = 13.30622587

------------------------------

OCTAVE - NOTE      = 6 - D#
FREQUENCY DIVISOR  = 26, $1A
ATARI FREQUENCY    = 2458.5
TEMPERED FREQUENCY = 2489.015828
CENTS ERROR        = -21.35647639

------------------------------

OCTAVE - NOTE      = 6 - E 
FREQUENCY DIVISOR  = 24, $18
ATARI FREQUENCY    = 2663.375
TEMPERED FREQUENCY = 2637.020386
CENTS ERROR        = 17.21620487

------------------------------

OCTAVE - NOTE      = 6 - F 
FREQUENCY DIVISOR  = 23, $17
ATARI FREQUENCY    = 2779.173913
TEMPERED FREQUENCY = 2793.825787
CENTS ERROR        = -9.10314599

------------------------------

OCTAVE - NOTE      = 6 - F#
FREQUENCY DIVISOR  = 22, $16
ATARI FREQUENCY    = 2905.5
TEMPERED FREQUENCY = 2959.95535
CENTS ERROR        = -32.1467898

------------------------------

OCTAVE - NOTE      = 6 - G 
FREQUENCY DIVISOR  = 20, $14
ATARI FREQUENCY    = 3196.05
TEMPERED FREQUENCY = 3135.963407
CENTS ERROR        = 32.85748934

------------------------------

OCTAVE - NOTE      = 6 - G#
FREQUENCY DIVISOR  = 19, $13
ATARI FREQUENCY    = 3364.263157
TEMPERED FREQUENCY = 3322.43747
CENTS ERROR        = 21.65820486

------------------------------

OCTAVE - NOTE      = 7 - A 
FREQUENCY DIVISOR  = 18, $12
ATARI FREQUENCY    = 3551.166666
TEMPERED FREQUENCY = 3520
CENTS ERROR        = 15.26116116

------------------------------

OCTAVE - NOTE      = 7 - A#
FREQUENCY DIVISOR  = 17, $11
ATARI FREQUENCY    = 3760.058823
TEMPERED FREQUENCY = 3729.310035
CENTS ERROR        = 14.21577709

------------------------------

OCTAVE - NOTE      = 7 - B 
FREQUENCY DIVISOR  = 16, $10
ATARI FREQUENCY    = 3995.0625
TEMPERED FREQUENCY = 3951.066322
CENTS ERROR        = 19.17120114

------------------------------

OCTAVE - NOTE      = 7 - C 
FREQUENCY DIVISOR  = 15, $0F
ATARI FREQUENCY    = 4261.4
TEMPERED FREQUENCY = 4186.008887
CENTS ERROR        = 30.90252296

------------------------------

OCTAVE - NOTE      = 7 - C#
FREQUENCY DIVISOR  = 14, $0E
ATARI FREQUENCY    = 4565.785714
TEMPERED FREQUENCY = 4434.922002
CENTS ERROR        = 50.34529293

Edited by MrFish
  • Like 2

Share this post


Link to post
Share on other sites

Ah, that's what I get for posting after midnight...

 

I should have said A of the 4th octave at 440, not "Middle C", which would be the first A coming after Middle C while ascending in pitch. Middle C is actually the first (lowest) note in this scale.

 

Also, the octaves are numbered starting at zero.

Edited by MrFish

Share this post


Link to post
Share on other sites

Here's a table using the 15kHz clock.

 

I suppose one possible use for these tables, or any related tables, is that compositions can be created based on avoiding notes with too high of an error ratio. I believe Paul Slocum created a composition tool for the 2600's TIA -- which has more tuning problems than Pokey -- for assisting in doing just this. Also, notes which are "out" by similar ratios can be used together for compositions, being in tune with each other, but being more limited in number. However, working with limitations can often produce interesting and unique results.

 

I'll probably end up formatting these tables for putting into spreadsheets. I'll also probably make up some tables based on RMT's selected frequency divisors, since the tables I've created so far are only useful in the above stated sense if RMT is patched to use them.


OCTAVE - NOTE      = 1 - B 
FREQUENCY DIVISOR  = 254, $FE
ATARI FREQUENCY    = 61.81062992
TEMPERED FREQUENCY = 61.73541192
CENTS ERROR        = 2.10803524

------------------------------

OCTAVE - NOTE      = 1 - C 
FREQUENCY DIVISOR  = 240, $F0
ATARI FREQUENCY    = 65.41625
TEMPERED FREQUENCY = 65.40639077
CENTS ERROR        = 0.2609301434

------------------------------

OCTAVE - NOTE      = 1 - C#
FREQUENCY DIVISOR  = 227, $E3
ATARI FREQUENCY    = 69.16255506
TEMPERED FREQUENCY = 69.29565665
CENTS ERROR        = -3.32853208

------------------------------

OCTAVE - NOTE      = 1 - D 
FREQUENCY DIVISOR  = 214, $D6
ATARI FREQUENCY    = 73.36401869
TEMPERED FREQUENCY = 73.41619065
CENTS ERROR        = -1.23073449

------------------------------

OCTAVE - NOTE      = 1 - D#
FREQUENCY DIVISOR  = 202, $CA
ATARI FREQUENCY    = 77.72227722
TEMPERED FREQUENCY = 77.7817447
CENTS ERROR        = -1.32413382

------------------------------

OCTAVE - NOTE      = 1 - E 
FREQUENCY DIVISOR  = 191, $BF
ATARI FREQUENCY    = 82.19842931
TEMPERED FREQUENCY = 82.40688802
CENTS ERROR        = -4.38494508

------------------------------

OCTAVE - NOTE      = 1 - F 
FREQUENCY DIVISOR  = 180, $B4
ATARI FREQUENCY    = 87.22166666
TEMPERED FREQUENCY = 87.3070572
CENTS ERROR        = -1.69406373

------------------------------

OCTAVE - NOTE      = 1 - F#
FREQUENCY DIVISOR  = 170, $AA
ATARI FREQUENCY    = 92.35235294
TEMPERED FREQUENCY = 92.49860482
CENTS ERROR        = -2.7394745

------------------------------

OCTAVE - NOTE      = 1 - G 
FREQUENCY DIVISOR  = 160, $A0
ATARI FREQUENCY    = 98.124375
TEMPERED FREQUENCY = 97.99885837
CENTS ERROR        = 2.2159296

------------------------------

OCTAVE - NOTE      = 1 - G#
FREQUENCY DIVISOR  = 151, $97
ATARI FREQUENCY    = 103.972847
TEMPERED FREQUENCY = 103.826173
CENTS ERROR        = 2.44395472

------------------------------

OCTAVE - NOTE      = 2 - A 
FREQUENCY DIVISOR  = 143, $8F
ATARI FREQUENCY    = 109.78951
TEMPERED FREQUENCY = 110
CENTS ERROR        = -3.31597519

------------------------------

OCTAVE - NOTE      = 2 - A#
FREQUENCY DIVISOR  = 135, $87
ATARI FREQUENCY    = 116.295555
TEMPERED FREQUENCY = 116.540938
CENTS ERROR        = -3.64907157

------------------------------

OCTAVE - NOTE      = 2 - B 
FREQUENCY DIVISOR  = 127, $7F
ATARI FREQUENCY    = 123.621259
TEMPERED FREQUENCY = 123.470823
CENTS ERROR        = 2.10803524

------------------------------

OCTAVE - NOTE      = 2 - C 
FREQUENCY DIVISOR  = 120, $78
ATARI FREQUENCY    = 130.8325
TEMPERED FREQUENCY = 130.81278
CENTS ERROR        = 0.2609472846

------------------------------

OCTAVE - NOTE      = 2 - C#
FREQUENCY DIVISOR  = 113, $71
ATARI FREQUENCY    = 138.937168
TEMPERED FREQUENCY = 138.591313
CENTS ERROR        = 4.31491392

------------------------------

OCTAVE - NOTE      = 2 - D 
FREQUENCY DIVISOR  = 107, $6B
ATARI FREQUENCY    = 146.728037
TEMPERED FREQUENCY = 146.83238
CENTS ERROR        = -1.23073449

------------------------------

OCTAVE - NOTE      = 2 - D#
FREQUENCY DIVISOR  = 101, $65
ATARI FREQUENCY    = 155.444554
TEMPERED FREQUENCY = 155.563489
CENTS ERROR        = -1.32413382

------------------------------

OCTAVE - NOTE      = 2 - E 
FREQUENCY DIVISOR  = 95, $5F
ATARI FREQUENCY    = 165.262105
TEMPERED FREQUENCY = 164.813776
CENTS ERROR        = 4.70292734

------------------------------

OCTAVE - NOTE      = 2 - F 
FREQUENCY DIVISOR  = 90, $5A
ATARI FREQUENCY    = 174.443333
TEMPERED FREQUENCY = 174.614112
CENTS ERROR        = -1.69406373

------------------------------

OCTAVE - NOTE      = 2 - F#
FREQUENCY DIVISOR  = 85, $55
ATARI FREQUENCY    = 184.704705
TEMPERED FREQUENCY = 184.997208
CENTS ERROR        = -2.7394745

------------------------------

OCTAVE - NOTE      = 2 - G 
FREQUENCY DIVISOR  = 80, $50
ATARI FREQUENCY    = 196.24875
TEMPERED FREQUENCY = 195.997715
CENTS ERROR        = 2.21594634

------------------------------

OCTAVE - NOTE      = 2 - G#
FREQUENCY DIVISOR  = 76, $4C
ATARI FREQUENCY    = 206.577631
TEMPERED FREQUENCY = 207.652344
CENTS ERROR        = -8.98335726

------------------------------

OCTAVE - NOTE      = 3 - A 
FREQUENCY DIVISOR  = 71, $47
ATARI FREQUENCY    = 221.125352
TEMPERED FREQUENCY = 220
CENTS ERROR        = 8.83308838

------------------------------

OCTAVE - NOTE      = 3 - A#
FREQUENCY DIVISOR  = 67, $43
ATARI FREQUENCY    = 234.326865
TEMPERED FREQUENCY = 233.081876
CENTS ERROR        = 9.22264013

------------------------------

OCTAVE - NOTE      = 3 - B 
FREQUENCY DIVISOR  = 64, $40
ATARI FREQUENCY    = 245.310937
TEMPERED FREQUENCY = 246.941646
CENTS ERROR        = -11.47033866

------------------------------

OCTAVE - NOTE      = 3 - C 
FREQUENCY DIVISOR  = 60, $3C
ATARI FREQUENCY    = 261.665
TEMPERED FREQUENCY = 261.625561
CENTS ERROR        = 0.2609472846

------------------------------

OCTAVE - NOTE      = 3 - C#
FREQUENCY DIVISOR  = 57, $39
ATARI FREQUENCY    = 275.436842
TEMPERED FREQUENCY = 277.18262
CENTS ERROR        = -10.93832523

------------------------------

OCTAVE - NOTE      = 3 - D 
FREQUENCY DIVISOR  = 53, $35
ATARI FREQUENCY    = 296.224528
TEMPERED FREQUENCY = 293.664761
CENTS ERROR        = 15.02512076

------------------------------

OCTAVE - NOTE      = 3 - D#
FREQUENCY DIVISOR  = 50, $32
ATARI FREQUENCY    = 313.998
TEMPERED FREQUENCY = 311.126975
CENTS ERROR        = 15.90225767

------------------------------

OCTAVE - NOTE      = 3 - E 
FREQUENCY DIVISOR  = 48, $30
ATARI FREQUENCY    = 327.08125
TEMPERED FREQUENCY = 329.627548
CENTS ERROR        = -13.42534649

------------------------------

OCTAVE - NOTE      = 3 - F 
FREQUENCY DIVISOR  = 45, $2D
ATARI FREQUENCY    = 348.886666
TEMPERED FREQUENCY = 349.22822
CENTS ERROR        = -1.69402387

------------------------------

OCTAVE - NOTE      = 3 - F#
FREQUENCY DIVISOR  = 42, $2A
ATARI FREQUENCY    = 373.807142
TEMPERED FREQUENCY = 369.994416
CENTS ERROR        = 17.74876362

------------------------------

OCTAVE - NOTE      = 3 - G 
FREQUENCY DIVISOR  = 40, $28
ATARI FREQUENCY    = 392.4975
TEMPERED FREQUENCY = 391.995428
CENTS ERROR        = 2.21596428

------------------------------

OCTAVE - NOTE      = 3 - G#
FREQUENCY DIVISOR  = 38, $26
ATARI FREQUENCY    = 413.155263
TEMPERED FREQUENCY = 415.304681
CENTS ERROR        = -8.9833174

------------------------------

OCTAVE - NOTE      = 4 - A 
FREQUENCY DIVISOR  = 36, $24
ATARI FREQUENCY    = 436.108333
TEMPERED FREQUENCY = 440
CENTS ERROR        = -15.38039419

------------------------------

OCTAVE - NOTE      = 4 - A#
FREQUENCY DIVISOR  = 34, $22
ATARI FREQUENCY    = 461.761764
TEMPERED FREQUENCY = 466.163747
CENTS ERROR        = -16.42572523

------------------------------

OCTAVE - NOTE      = 4 - B 
FREQUENCY DIVISOR  = 32, $20
ATARI FREQUENCY    = 490.621875
TEMPERED FREQUENCY = 493.883285
CENTS ERROR        = -11.47033866

------------------------------

OCTAVE - NOTE      = 4 - C 
FREQUENCY DIVISOR  = 30, $1E
ATARI FREQUENCY    = 523.33
TEMPERED FREQUENCY = 523.251124
CENTS ERROR        = 0.2609472846

------------------------------

OCTAVE - NOTE      = 4 - C#
FREQUENCY DIVISOR  = 28, $1C
ATARI FREQUENCY    = 560.710714
TEMPERED FREQUENCY = 554.365251
CENTS ERROR        = 19.7037575

------------------------------

OCTAVE - NOTE      = 4 - D 
FREQUENCY DIVISOR  = 27, $1B
ATARI FREQUENCY    = 581.477777
TEMPERED FREQUENCY = 587.32952
CENTS ERROR        = -17.3353223

------------------------------

OCTAVE - NOTE      = 4 - D#
FREQUENCY DIVISOR  = 25, $19
ATARI FREQUENCY    = 627.996
TEMPERED FREQUENCY = 622.253959
CENTS ERROR        = 15.90222338

------------------------------

OCTAVE - NOTE      = 4 - E 
FREQUENCY DIVISOR  = 24, $18
ATARI FREQUENCY    = 654.1625
TEMPERED FREQUENCY = 659.255104
CENTS ERROR        = -13.42534649

------------------------------

OCTAVE - NOTE      = 4 - F 
FREQUENCY DIVISOR  = 22, $16
ATARI FREQUENCY    = 713.631818
TEMPERED FREQUENCY = 698.456448
CENTS ERROR        = 37.21172147

------------------------------

OCTAVE - NOTE      = 4 - F#
FREQUENCY DIVISOR  = 21, $15
ATARI FREQUENCY    = 747.614285
TEMPERED FREQUENCY = 739.988843
CENTS ERROR        = 17.74872894

------------------------------

OCTAVE - NOTE      = 4 - G 
FREQUENCY DIVISOR  = 20, $14
ATARI FREQUENCY    = 784.995
TEMPERED FREQUENCY = 783.990861
CENTS ERROR        = 2.21594634

------------------------------

OCTAVE - NOTE      = 4 - G#
FREQUENCY DIVISOR  = 19, $13
ATARI FREQUENCY    = 826.310526
TEMPERED FREQUENCY = 830.609375
CENTS ERROR        = -8.98335726

------------------------------

OCTAVE - NOTE      = 5 - A 
FREQUENCY DIVISOR  = 18, $12
ATARI FREQUENCY    = 872.216666
TEMPERED FREQUENCY = 880
CENTS ERROR        = -15.38039419

------------------------------

OCTAVE - NOTE      = 5 - A#
FREQUENCY DIVISOR  = 17, $11
ATARI FREQUENCY    = 923.523529
TEMPERED FREQUENCY = 932.327514
CENTS ERROR        = -16.4257651

------------------------------

OCTAVE - NOTE      = 5 - B 
FREQUENCY DIVISOR  = 16, $10
ATARI FREQUENCY    = 981.24375
TEMPERED FREQUENCY = 987.766582
CENTS ERROR        = -11.47033866

------------------------------

OCTAVE - NOTE      = 5 - C 
FREQUENCY DIVISOR  = 15, $0F
ATARI FREQUENCY    = 1046.66
TEMPERED FREQUENCY = 1046.502231
CENTS ERROR        = 0.2609644257

  • Like 1

Share this post


Link to post
Share on other sites

Thanks MrFish. Indeed it's more accurate to forget A3 = 440 Hz and compute an approximation table under 64 kHz or 15 kHz mode.

 

See my TEST2015.ATR (at post 1) and LOAD "D:LMS1.BAS" to compare with my techniques. The Least Mean Square computing I used gives a better approximation to use base note AUDF+1 at 256 (see left picture, AUDF=$FF) w.r.t. base note AUDF+1 around 244 (see right picture, AUDF=$F3).

 

post-3860-0-01615900-1422539744_thumb.pngpost-3860-0-29997900-1422539748_thumb.png

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...