ctrl-alt-Development

Your hotkey to alternative software development

Essential Reading

There are many nice books out there, but a few of them contain such wisdom that I just must mention them here:

Jan '22
10

VIC-20 Improved Notes Table

Music made with the VIC-20 almost always sounds off tune. I've always accepted that as a fact until I found out that the musical notes table in the reference manual is badly transposed. And so I set out to make a better table.

Reference Manual Table

The following table shows the note values from the reference manual (just the first octave), the expected frequency if the progression would be according to the scales (with the first note being the base frequency), the actual frequency and the error. Anything off more than one percent is highlighted.

Note Low Expected (Hz) Actual (Hz) Error %
C1 135 36.083 36.083 0.000 %
C#1 143 38.229 38.661 1.129 %
D1 147 40.502 40.093 1.011 %
D#1 151 42.911 41.635 2.973 %
E1 159 45.462 45.104 0.787 %
F1 163 48.165 47.065 2.284 %
F#1 167 51.030 49.205 3.576 %
G1 175 54.064 54.125 0.113 %
G#1 179 57.279 56.974 0.533 %
A1 183 60.685 60.139 0.899 %
A#1 187 64.293 63.676 0.959 %
B1 191 68.116 67.656 0.675 %

You can see why any music made using this table will sound off tune ;-)

Improved Tuned Table (PAL)

The following table takes the actual note frequencies (non transposed) and shows the best matching value and error for PAL systems. The given actual and error is for the rightmost value.

Note Low Mid High Expected (Hz) Actual (Hz) Error %
C#1 130 34.648 34.640 0.023 %
D1 137 36.708 36.695 0.036 %
D#1 144 38.891 39.009 0.304 %
E1 150 41.203 41.238 0.084 %
F1 156 43.654 43.737 0.192 %
F#1 161 46.249 46.064 0.401 %
G1 167 48.999 49.205 0.419 %
G#1 172 51.913 52.169 0.492 %
A1 176 55.000 54.810 0.345 %
A#1 181 58.270 58.514 0.417 %
B1 185 61.735 61.857 0.197 %
C2 189 65.406 65.606 0.305 %
C#2 193 130 69.296 69.280 0.023 %
D2 196 137 73.416 73.390 0.036 %
D#2 199 144 77.782 78.018 0.304 %
E2 202 150 82.407 82.476 0.084 %
F2 205 156 87.307 87.475 0.192 %
F#2 208 161 92.499 92.128 0.401 %
G2 211 167 97.999 98.409 0.419 %
G#2 213 172 103.826 104.337 0.492 %
A2 216 176 110.000 109.620 0.345 %
A#2 218 181 116.541 117.027 0.417 %
B2 220 185 123.471 123.714 0.197 %
C3 222 189 130.813 131.212 0.305 %
C#3 224 193 130 138.591 138.560 0.023 %
D3 226 196 137 146.832 146.780 0.036 %
D#3 227 199 144 155.563 156.036 0.304 %
E3 229 202 150 164.814 164.952 0.084 %
F3 230 205 156 174.614 174.949 0.192 %
F#3 232 208 161 184.997 184.255 0.401 %
G3 233 211 167 195.998 196.818 0.419 %
G#3 234 213 172 207.652 208.675 0.492 %
A3 235 216 176 220.000 219.241 0.345 %
A#3 236 218 181 233.082 234.054 0.417 %
B3 220 185 246.942 247.429 0.197 %
C4 222 189 261.626 262.424 0.305 %
C#4 239 224 193 277.183 279.355 0.784 %
D4 240 226 196 293.665 293.559 0.036 %
D#4 241 227 199 311.127 309.286 0.592 %
E4 242 229 202 329.628 326.792 0.860 %
F4 230 205 349.228 346.400 0.810 %
F#4 243 232 208 369.994 368.511 0.401 %
G4 244 233 211 391.995 393.636 0.419 %
G#4 234 213 415.305 412.381 0.704 %
A4 245 235 216 440.000 444.103 0.932 %
A#4 236 218 466.164 468.108 0.417 %
B4 220 493.883 494.857 0.197 %
C5 222 523.251 524.848 0.305 %
C#5 247 239 224 554.365 558.710 0.784 %
D5 240 226 587.329 597.241 1.688 %
D#5 248 241 227 622.254 618.571 0.592 %
E5 242 229 659.255 666.154 1.046 %
F5 230 698.456 692.800 0.810 %
F#5 249 243 232 739.989 753.043 1.764 %
G5 244 233 783.991 787.273 0.419 %
G#5 234 830.609 824.762 0.704 %
A5 250 245 235 880.000 866.000 1.591 %
A#5 236 932.327 911.579 2.225 %

Improved Tuned Table (NTSC)

The following table takes the actual note frequencies (non transposed) and shows the best matching value and error for NTSC systems. The given actual and error is for the rightmost value.

Note Low Mid High Expected (Hz) Actual (Hz) Error %
C1 133 32.703 32.746 0.131 %
C#1 140 34.648 34.739 0.264 %
D1 146 36.708 36.651 0.155 %
D#1 152 38.891 38.786 0.269 %
E1 158 41.203 41.186 0.043 %
F1 163 43.654 43.424 0.526 %
F#1 169 46.249 46.453 0.442 %
G1 173 48.999 48.720 0.571 %
G#1 178 51.913 51.883 0.058 %
A1 182 55.000 54.726 0.498 %
A#1 186 58.270 57.899 0.638 %
B1 190 61.735 61.462 0.444 %
C2 194 133 65.406 65.492 0.131 %
C#2 197 140 69.296 69.478 0.264 %
D2 201 146 73.416 73.303 0.155 %
D#2 204 152 77.782 77.573 0.269 %
E2 207 158 82.407 82.371 0.043 %
F2 209 163 87.307 86.848 0.526 %
F#2 212 169 92.499 92.907 0.442 %
G2 214 173 97.999 97.439 0.571 %
G#2 217 178 103.826 103.766 0.058 %
A2 219 182 110.000 109.452 0.498 %
A#2 221 186 116.541 115.797 0.638 %
B2 223 190 123.471 122.923 0.444 %
C3 224 194 133 130.813 130.984 0.131 %
C#3 226 197 140 138.591 138.957 0.264 %
D3 228 201 146 146.832 146.606 0.155 %
D#3 229 204 152 155.563 155.146 0.269 %
E3 231 207 158 164.814 164.742 0.043 %
F3 232 209 163 174.614 173.696 0.526 %
F#3 233 212 169 184.997 185.814 0.442 %
G3 235 214 173 195.998 194.878 0.571 %
G#3 236 217 178 207.652 207.532 0.058 %
A3 237 219 182 220.000 218.904 0.498 %
A#3 238 221 186 233.082 231.594 0.638 %
B3 239 223 190 246.942 245.846 0.444 %
C4 240 224 194 261.626 261.967 0.131 %
C#4 226 197 277.183 275.517 0.601 %
D4 228 201 293.665 295.926 0.770 %
D#4 242 229 204 311.127 313.333 0.709 %
E4 243 231 207 329.628 332.917 0.998 %
F4 232 209 349.228 347.391 0.526 %
F#4 244 233 212 369.994 371.628 0.442 %
G4 245 235 214 391.995 389.756 0.571 %
G#4 236 217 415.305 420.526 1.257 %
A4 246 237 219 440.000 443.889 0.884 %
A#4 238 221 466.164 470.000 0.823 %
B4 247 239 223 493.883 499.375 1.112 %
C5 240 224 523.251 515.484 1.484 %
C#5 226 554.365 551.034 0.601 %
D5 228 587.329 591.852 0.770 %
D#5 242 229 622.254 614.615 1.228 %
E5 249 243 231 659.255 665.833 0.998 %
F5 232 698.456 694.783 0.526 %
F#5 244 233 739.989 726.364 1.841 %
G5 250 245 235 783.991 799.000 1.914 %
G#5 236 830.609 841.053 1.257 %
A5 246 237 880.000 887.778 0.884 %
A#5 238 932.327 940.000 0.823 %