The NES RP2A03 CPU clock runs at 1.789773MHz (NTSC). In producing audio, the wave period of the pulse ("square wave") channels is specified in timer units of 16 clock cycles. This means the period is quantized to units of 16/1,789,773 second. The triangle channel, usually used for bass lines, uses 32-cycle timer units, so for a given timer period, it's an octave lower than the pulse channels.
The pulse channels are incapable of producing a note lower than A1, with a timer period of 2033, because the timer period is represented by 11 bits, giving a maximum value of 2048.
This table shows the closest timer period for each note. It becomes less accurate, especially for the triangle channel, in the higher register.
Note Name | MIDI Note | Frequency | Piano Note | APU Index | Pulse Sample Period | Pulse Tuning Error (Cents) | Triangle Sample Period | Triangle Tuning Error (Cents) |
---|---|---|---|---|---|---|---|---|
A0 | 21 | 27.5 | 1 | 2033 | 0 | |||
A#0 | 22 | 29.1352 | 2 | 1919 | 0 | |||
B0 | 23 | 30.8677 | 3 | 1811 | 0 | |||
C1 | 24 | 32.7031 | 4 | 0 | 1709 | 0 | ||
C#1 | 25 | 34.6478 | 5 | 1 | 1613 | 0 | ||
D1 | 26 | 36.708 | 6 | 2 | 1523 | 0 | ||
D#1 | 27 | 38.8908 | 7 | 3 | 1437 | 0 | ||
E1 | 28 | 41.2034 | 8 | 4 | 1356 | 1 | ||
F1 | 29 | 43.6535 | 9 | 5 | 1280 | 0 | ||
F#1 | 30 | 46.2493 | 10 | 6 | 1208 | 0 | ||
G1 | 31 | 48.9994 | 11 | 7 | 1140 | 1 | ||
G#1 | 32 | 51.913 | 12 | 8 | 1076 | 1 | ||
A1 | 33 | 55 | 13 | 9 | 2033 | 0 | 1016 | 0 |
A#1 | 34 | 58.2704 | 14 | 10 | 1919 | 0 | 959 | 0 |
B1 | 35 | 61.7354 | 15 | 11 | 1811 | 0 | 905 | 0 |
C2 | 36 | 65.4063 | 16 | 12 | 1709 | 0 | 854 | 0 |
C#2 | 37 | 69.2956 | 17 | 13 | 1613 | 0 | 806 | 0 |
D2 | 38 | 73.4161 | 18 | 14 | 1523 | 0 | 761 | 0 |
D#2 | 39 | 77.7817 | 19 | 15 | 1437 | 0 | 718 | 0 |
E2 | 40 | 82.4068 | 20 | 16 | 1356 | 1 | 678 | -1 |
F2 | 41 | 87.307 | 21 | 17 | 1280 | 0 | 640 | -1 |
F#2 | 42 | 92.4986 | 22 | 18 | 1208 | 0 | 604 | -1 |
G2 | 43 | 97.9988 | 23 | 19 | 1140 | 1 | 570 | -1 |
G#2 | 44 | 103.8261 | 24 | 20 | 1076 | 1 | 538 | -1 |
A2 | 45 | 110 | 25 | 21 | 1016 | 0 | 507 | 2 |
A#2 | 46 | 116.5409 | 26 | 22 | 959 | 0 | 479 | 0 |
B2 | 47 | 123.4708 | 27 | 23 | 905 | 0 | 452 | 0 |
C3 | 48 | 130.8127 | 28 | 24 | 854 | 0 | 427 | -2 |
C#3 | 49 | 138.5913 | 29 | 25 | 806 | 0 | 403 | -2 |
D3 | 50 | 146.8323 | 30 | 26 | 761 | 0 | 380 | 0 |
D#3 | 51 | 155.5634 | 31 | 27 | 718 | 0 | 359 | -2 |
E3 | 52 | 164.8137 | 32 | 28 | 678 | -1 | 338 | 2 |
F3 | 53 | 174.6141 | 33 | 29 | 640 | -1 | 319 | 2 |
F#3 | 54 | 184.9972 | 34 | 30 | 604 | -1 | 301 | 2 |
G3 | 55 | 195.9977 | 35 | 31 | 570 | -1 | 284 | 2 |
G#3 | 56 | 207.6523 | 36 | 32 | 538 | -1 | 268 | 2 |
A3 | 57 | 220 | 37 | 33 | 507 | 2 | 253 | 2 |
A#3 | 58 | 233.0818 | 38 | 34 | 479 | 0 | 239 | 0 |
B3 | 59 | 246.9416 | 39 | 35 | 452 | 0 | 225 | 4 |
C4 | 60 | 261.6255 | 40 | 36 | 427 | -2 | 213 | -2 |
C#4 | 61 | 277.1826 | 41 | 37 | 403 | -2 | 201 | -2 |
D4 | 62 | 293.6647 | 42 | 38 | 380 | 0 | 189 | 4 |
D#4 | 63 | 311.1269 | 43 | 39 | 359 | -2 | 179 | -2 |
E4 | 64 | 329.6275 | 44 | 40 | 338 | 2 | 169 | -3 |
F4 | 65 | 349.2282 | 45 | 41 | 319 | 2 | 159 | 2 |
F#4 | 66 | 369.9944 | 46 | 42 | 301 | 2 | 150 | 2 |
G4 | 67 | 391.9954 | 47 | 43 | 284 | 2 | 142 | -4 |
G#4 | 68 | 415.3046 | 48 | 44 | 268 | 2 | 134 | -4 |
A4 | 69 | 440 | 49 | 45 | 253 | 2 | 126 | 2 |
A#4 | 70 | 466.1637 | 50 | 46 | 239 | 0 | 119 | 0 |
B4 | 71 | 493.8833 | 51 | 47 | 225 | 4 | 112 | 4 |
C5 | 72 | 523.2511 | 52 | 48 | 213 | -2 | 106 | -2 |
C#5 | 73 | 554.3652 | 53 | 49 | 201 | -2 | 100 | -2 |
D5 | 74 | 587.3295 | 54 | 50 | 189 | 4 | 94 | 4 |
D#5 | 75 | 622.2539 | 55 | 51 | 179 | -2 | 89 | -2 |
E5 | 76 | 659.2551 | 56 | 52 | 169 | -3 | 84 | -3 |
F5 | 77 | 698.4564 | 57 | 53 | 159 | 2 | 79 | 2 |
F#5 | 78 | 739.9888 | 58 | 54 | 150 | 2 | 75 | -10 |
G5 | 79 | 783.9908 | 59 | 55 | 142 | -4 | 70 | 8 |
G#5 | 80 | 830.6093 | 60 | 56 | 134 | -4 | 66 | 9 |
A5 | 81 | 880 | 61 | 57 | 126 | 2 | 63 | -12 |
A#5 | 82 | 932.3275 | 62 | 58 | 119 | 0 | 59 | 0 |
B5 | 83 | 987.7666 | 63 | 59 | 112 | 4 | 56 | -11 |
C6 | 84 | 1046.5022 | 64 | 60 | 106 | -2 | 52 | 14 |
C#6 | 85 | 1108.7305 | 65 | 61 | 100 | -2 | 49 | 15 |
D6 | 86 | 1174.659 | 66 | 62 | 94 | 4 | 47 | -14 |
D#6 | 87 | 1244.5079 | 67 | 63 | 89 | -2 | 44 | -2 |
E6 | 88 | 1318.5102 | 68 | 64 | 84 | -3 | 41 | 17 |
F6 | 89 | 1396.9129 | 69 | 65 | 79 | 2 | 39 | 2 |
F#6 | 90 | 1479.9776 | 70 | 66 | 75 | -10 | 37 | -10 |
G6 | 91 | 1567.9817 | 71 | 67 | 70 | 8 | 35 | -16 |
G#6 | 92 | 1661.2187 | 72 | 68 | 66 | 9 | 33 | -17 |
A6 | 93 | 1760 | 73 | 69 | 63 | -12 | 31 | -12 |
A#6 | 94 | 1864.655 | 74 | 70 | 59 | 0 | 29 | 0 |
B6 | 95 | 1975.5332 | 75 | 71 | 56 | -11 | 27 | 19 |
C7 | 96 | 2093.0045 | 76 | 72 | 52 | 14 | 26 | -18 |
C#7 | 97 | 2217.461 | 77 | 73 | 49 | 15 | 24 | 15 |
D7 | 98 | 2349.3181 | 78 | 74 | 47 | -14 | 23 | -14 |
D#7 | 99 | 2489.0158 | 79 | 75 | 44 | -2 | 21 | 37 |
E7 | 100 | 2637.0204 | 80 | 76 | 41 | 17 | 20 | 17 |
F7 | 101 | 2793.8258 | 81 | 77 | 39 | 2 | 19 | 2 |
F#7 | 102 | 2959.9553 | 82 | 78 | 37 | -10 | 18 | -10 |
G7 | 103 | 3135.9634 | 83 | 79 | 35 | -16 | 17 | -16 |
G#7 | 104 | 3322.4375 | 84 | 80 | 33 | -17 | 16 | -17 |
A7 | 105 | 3520 | 85 | 81 | 31 | -12 | 15 | -12 |
A#7 | 106 | 3729.31 | 86 | 82 | 29 | 0 | 14 | 0 |
B7 | 107 | 3951.0664 | 87 | 83 | 27 | 19 | 13 | 19 |
C8 | 108 | 4186.009 | 88 | 84 | 26 | -18 | 12 | 47 |
C#8 | 109 | 4434.922 | 85 | 24 | 15 | |||
D8 | 110 | 4698.6362 | 86 | 23 | -14 | 11 | -14 | |
D#8 | 111 | 4978.0317 | 87 | 21 | 37 | 10 | 37 | |
E8 | 112 | 5274.0409 | 88 | 20 | 17 | |||
F8 | 113 | 5587.6517 | 89 | 19 | 2 | 9 | 2 | |
F#8 | 114 | 5919.9107 | 90 | 18 | -10 | |||
G8 | 115 | 6271.9269 | 91 | 17 | -16 | 8 | -16 |
Source spreadsheet on Google Sheets: NES APU Note Table
Leave a Reply