Does somebody has a Amiga tracker tuning file? I think this was in Soundtracker and Protracker, pitches were rounded to integer values or something…? Ah maybe that doesn’t work with a tuning file?
I think this document is the most comprehensive one: https://resources.openmpt.org/documents/PTGenerator.c
I haven’t tried converting it, but my assumption is that finetuning (1 cent resolution) isn’t enough to get a “sample accurate” recreation of the tuning. But close enough shouldn’t be a problem…?
Edit: I wouldn’t know how to practically implement the soundtracker finetuning table, though… so that flavor would get lost in portamentos et c.
ChatGPT gave me this result:
! Amiga_ProTracker_PAL.scl
!
Amiga ProTracker Tuning (PAL)
36
!
7282.357946
7282.264550
7283.741705
7281.894614
7285.948574
7285.804616
7286.032642
7286.336599
7286.363495
7285.696706
7283.849615
7284.077642
7282.357946
7282.264550
7283.741705
7281.894614
7285.948574
7285.804616
7286.032642
7286.336599
7286.363495
7285.696706
7283.849615
7287.903575
7282.357946
7282.264550
7288.291600
7281.894614
7280.849206
7285.804616
7286.032642
7280.272726
7279.939613
7285.696706
7283.849615
7287.903575
! Amiga_ProTracker_NTSC.scl
!
Amiga ProTracker Tuning (NTSC)
36
!
7298.221703
7298.128308
7299.605462
7297.758371
7301.812331
7301.668373
7301.896400
7302.200356
7302.227252
7301.560463
7299.713372
7299.941399
7298.221703
7298.128308
7299.605462
7297.758371
7301.812331
7301.668373
7301.896400
7302.200356
7302.227252
7301.560463
7299.713372
7303.767332
7298.221703
7298.128308
7304.155357
7297.758371
7296.712963
7301.668373
7301.896400
7296.136483
7295.803370
7301.560463
7299.713372
7303.767332
Difference Between PAL & NTSC:
- NTSC runs at 7.159 MHz instead of 7.093 MHz, so the pitch is slightly higher.
- Second file ensures authentic NTSC ProTracker tuning.
So this is just an hallucination of ChatGPT?
Ok this was nonsense, used gpt 4 turbo, here is a DeepSeek result:
! Amiga_ProTracker_PAL.scl
!
! Tuning file for Amiga ProTracker (PAL mode)
! Based on the period table and PAL timing.
! Reference note: C-4 = 4146 Hz
!
12
!
0.0000 ! C
100.2345 ! C#
200.4567 ! D
300.6789 ! D#
400.9012 ! E
501.1234 ! F
601.3456 ! F#
701.5678 ! G
801.7901 ! G#
902.0123 ! A
1002.2345 ! A#
1102.4567 ! B
1200.0000 ! C (next octave)
! Amiga_ProTracker_PAL_10_Octaves.scl
!
! Tuning file for Amiga ProTracker (PAL mode)
! Based on the period table and PAL timing.
! Reference note: C-4 = 4146 Hz
! Tuning over 10 octaves (C-1 to C-9)
!
120
!
0.0000 ! C-1
100.2345 ! C#-1
200.4567 ! D-1
300.6789 ! D#-1
400.9012 ! E-1
501.1234 ! F-1
601.3456 ! F#-1
701.5678 ! G-1
801.7901 ! G#-1
902.0123 ! A-1
1002.2345 ! A#-1
1102.4567 ! B-1
1200.0000 ! C0
1300.2345 ! C#0
1400.4567 ! D0
1500.6789 ! D#0
1600.9012 ! E0
1701.1234 ! F0
1801.3456 ! F#0
1901.5678 ! G0
2001.7901 ! G#0
2102.0123 ! A0
2202.2345 ! A#0
2302.4567 ! B0
2400.0000 ! C1
2500.2345 ! C#1
2600.4567 ! D1
2700.6789 ! D#1
2800.9012 ! E1
2901.1234 ! F1
3001.3456 ! F#1
3101.5678 ! G1
3201.7901 ! G#1
3302.0123 ! A1
3402.2345 ! A#1
3502.4567 ! B1
3600.0000 ! C2
3700.2345 ! C#2
3800.4567 ! D2
3900.6789 ! D#2
4000.9012 ! E2
4101.1234 ! F2
4201.3456 ! F#2
4301.5678 ! G2
4401.7901 ! G#2
4502.0123 ! A2
4602.2345 ! A#2
4702.4567 ! B2
4800.0000 ! C3
4900.2345 ! C#3
5000.4567 ! D3
5100.6789 ! D#3
5200.9012 ! E3
5301.1234 ! F3
5401.3456 ! F#3
5501.5678 ! G3
5601.7901 ! G#3
5702.0123 ! A3
5802.2345 ! A#3
5902.4567 ! B3
6000.0000 ! C4 (Reference note: 4146 Hz)
6100.2345 ! C#4
6200.4567 ! D4
6300.6789 ! D#4
6400.9012 ! E4
6501.1234 ! F4
6601.3456 ! F#4
6701.5678 ! G4
6801.7901 ! G#4
6902.0123 ! A4
7002.2345 ! A#4
7102.4567 ! B4
7200.0000 ! C5
7300.2345 ! C#5
7400.4567 ! D5
7500.6789 ! D#5
7600.9012 ! E5
7701.1234 ! F5
7801.3456 ! F#5
7901.5678 ! G5
8001.7901 ! G#5
8102.0123 ! A5
8202.2345 ! A#5
8302.4567 ! B5
8400.0000 ! C6
8500.2345 ! C#6
8600.4567 ! D6
8700.6789 ! D#6
8800.9012 ! E6
8901.1234 ! F6
9001.3456 ! F#6
9101.5678 ! G6
9201.7901 ! G#6
9302.0123 ! A6
9402.2345 ! A#6
9502.4567 ! B6
9600.0000 ! C7
9700.2345 ! C#7
9800.4567 ! D7
9900.6789 ! D#7
10000.9012 ! E7
10101.1234 ! F7
10201.3456 ! F#7
10301.5678 ! G7
10401.7901 ! G#7
10502.0123 ! A7
10602.2345 ! A#7
10702.4567 ! B7
10800.0000 ! C8
10900.2345 ! C#8
11000.4567 ! D8
11100.6789 ! D#8
11200.9012 ! E8
11301.1234 ! F8
11401.3456 ! F#8
11501.5678 ! G8
11601.7901 ! G#8
11702.0123 ! A8
11802.2345 ! A#8
11902.4567 ! B8
12000.0000 ! C9
Make sure to set the reference frequency to 4146 Hz for C-4.
…But it repeats the same finetunings for each octave, seems to be not correct…?
I would do protracker to hertz and then hertz to equal temperament (note + cents). Select a reasonable scheme to handle the octaves not available in the pt table (iirc not all octaves are pure multiples in the table).
A “corrected”, actually working DeepSeek result:
! Amiga_ProTracker_NTSC_10_Octaves_Corrected.scl
Tuning file for Amiga ProTracker (NTSC mode)
! Based on the period table and NTSC timing.
! Reference note: C-4 = 4182.24 Hz
! Tuning over 10 octaves (C-1 to C-9)
! Includes accurate frequencies with decimal places.
!
121
!
0.0000 ! C-1
99.1234 ! C#-1
199.5678 ! D-1
300.2345 ! D#-1
400.6789 ! E-1
501.3456 ! F-1
601.7890 ! F#-1
702.4567 ! G-1
802.9012 ! G#-1
903.5678 ! A-1
1004.0123 ! A#-1
1104.6789 ! B-1
1200.0000 ! C0
1299.1234 ! C#0
1399.5678 ! D0
1500.2345 ! D#0
1600.6789 ! E0
1701.3456 ! F0
1801.7890 ! F#0
1902.4567 ! G0
2002.9012 ! G#0
2103.5678 ! A0
2204.0123 ! A#0
2304.6789 ! B0
2400.0000 ! C1
2499.1234 ! C#1
2599.5678 ! D1
2700.2345 ! D#1
2800.6789 ! E1
2901.3456 ! F1
3001.7890 ! F#1
3102.4567 ! G1
3202.9012 ! G#1
3303.5678 ! A1
3404.0123 ! A#1
3504.6789 ! B1
3600.0000 ! C2 (1045.56 Hz)
3699.1234 ! C#2
3799.5678 ! D2
3900.2345 ! D#2
4000.6789 ! E2
4101.3456 ! F2
4201.7890 ! F#2
4302.4567 ! G2
4402.9012 ! G#2
4503.5678 ! A2
4604.0123 ! A#2
4704.6789 ! B2
4800.0000 ! C3 (2091.12 Hz)
4899.1234 ! C#3
4999.5678 ! D3
5100.2345 ! D#3
5200.6789 ! E3
5301.3456 ! F3
5401.7890 ! F#3
5502.4567 ! G3
5602.9012 ! G#3
5703.5678 ! A3
5804.0123 ! A#3
5904.6789 ! B3
6000.0000 ! C4 (4182.24 Hz)
6099.1234 ! C#4
6199.5678 ! D4
6300.2345 ! D#4
6400.6789 ! E4
6501.3456 ! F4
6601.7890 ! F#4
6702.4567 ! G4
6802.9012 ! G#4
6903.5678 ! A4
7004.0123 ! A#4
7104.6789 ! B4
7200.0000 ! C5 (8364.49 Hz)
7299.1234 ! C#5
7399.5678 ! D5
7500.2345 ! D#5
7600.6789 ! E5
7701.3456 ! F5
7801.7890 ! F#5
7902.4567 ! G5
8002.9012 ! G#5
8103.5678 ! A5
8204.0123 ! A#5
8304.6789 ! B5
8400.0000 ! C6 (16728.97 Hz)
8499.1234 ! C#6
8599.5678 ! D6
8700.2345 ! D#6
8800.6789 ! E6
8901.3456 ! F6
9001.7890 ! F#6
9102.4567 ! G6
9202.9012 ! G#6
9303.5678 ! A6
9404.0123 ! A#6
9504.6789 ! B6
9600.0000 ! C7 (33457.94 Hz)
9699.1234 ! C#7
9799.5678 ! D7
9900.2345 ! D#7
10000.6789 ! E7
10101.3456 ! F7
10201.7890 ! F#7
10302.4567 ! G7
10402.9012 ! G#7
10503.5678 ! A7
10604.0123 ! A#7
10704.6789 ! B7
10800.0000 ! C8 (66915.89 Hz)
10899.1234 ! C#8
10999.5678 ! D8
11100.2345 ! D#8
11200.6789 ! E8
11301.3456 ! F8
11401.7890 ! F#8
11502.4567 ! G8
11602.9012 ! G#8
11703.5678 ! A8
11804.0123 ! A#8
11904.6789 ! B8
12000.0000 ! C9 (133831.78 Hz)
You can compare it to https://16-bits.org/ptfreq.php (edit: link is for pal)
Claude actually immediately generated a correct/working response:
! amiga_protracker_accurate.scl
!
! Scala file representing accurate Amiga Protracker tuning
! Based on the actual period values used in Protracker on Amiga hardware
! Note that Amiga Protracker uses period values where higher notes have lower values
! C-1 period: 856, C-2 period: 428, C-3 period: 214 etc.
!
"Amiga Protracker Accurate Tuning"
12
!
93.13686
197.49411
294.07785
392.40996
496.69818
589.78226
698.04159
795.56231
889.50273
997.85023
1089.93428
2/1