
Reference · 8 October 2026 · 10 min
432, 435, 442 and the reference pitch you actually started from
An alternate reference is just a ratio: target divided by the source the recording was actually made at. 432 from 440 is −31.77 cents, 435 is −19.79, 438 is −7.89. A 442 source needs 432/442, which is −39.62 cents. Only 435, 439, and 440 have documented standards history. The rest are taste. Render each target from the untouched original.
Once you've heard a 432 version of something you love, the internet will offer you a whole menu. 435, 436, 438, 444, "Verdi pitch," "scientific pitch," a custom number someone swears by for vocals. It can start to feel like there's a correct frequency out there and you just haven't found it. There isn't one. What there is, is a simple piece of math, a little real history, and one question that matters more than the target: what reference was the recording made against in the first place?
This is the field guide I'd want handed to me. What the numbers do, which ones have documented history behind them, which are just taste (taste is allowed), and the two mistakes that quietly ruin alternate versions: assuming every source is 440, and stacking one conversion on another.
The formula is target over source
Changing the A4 reference scales the whole note map by one ratio: target divided by source. Every fundamental, every harmonic, every room resonance moves by the same proportion, so the harmony stays intact and the whole record sits a little higher or lower. To compare references on a musical scale instead of a hertz scale, convert the ratio to cents. Cents = 1200 × log2(target ÷ source). A semitone is 100 cents.
From a verified 440 source, 432 is a ratio of 0.981818, about −31.77 cents. In classic resampling, where pitch and time move together like tape, the record also runs about 1.85% longer. If you want the full anatomy of that one move, What 432 Hz actually changes in a finished master covers it. Here we're widening the lens.
One thing worth noticing: equal steps in hertz aren't equal steps in cents. 440 to 438 is −7.89 cents. 440 to 432 is −31.77. And 442 to 432 is −39.62. Those last two are only 2 Hz apart at the source, but that's nearly 8 cents of difference in where you land.
Every reference, side by side
Here's the menu with the context that actually applies to each number. "Evidence status" means whether there's a documented historical or standards role. It's not a verdict on whether the number sounds good. That part is yours.
| A4 target | Ratio from 440 | Cents | 4:00 song becomes | 120 BPM becomes | Where it comes from | Evidence status |
|---|---|---|---|---|---|---|
| 430 | 0.977273 | −39.80 | 4:05.58 | 117.27 | Custom sound design | Taste; no standards role |
| 432 | 0.981818 | −31.77 | 4:04.44 | 117.82 | Popular alternate-listening reference | Preference; health claims unsupported |
| 435 | 0.988636 | −19.79 | 4:02.76 | 118.64 | French government commission, 1859 | Documented historical standard |
| 436 | 0.990909 | −15.81 | 4:02.20 | 118.91 | Custom sound design | Taste; no standards role |
| 438 | 0.995455 | −7.89 | 4:01.10 | 119.45 | Subtle custom darkening | Taste; no standards role |
| 439 | 0.997727 | −3.94 | 4:00.55 | 119.73 | London Philharmonic Society, 1896 | Documented, oddly derived |
| 440 | 1.000000 | 0.00 | 4:00.00 | 120.00 | London conference 1939; ISO 16:1975 | Current international standard |
| 442 | 1.004545 | +7.85 | 3:58.91 | 120.55 | Sharper reference some ensembles choose | Practice varies; verify per recording |
| 443 | 1.006818 | +11.76 | 3:58.37 | 120.82 | Sharper still | Practice varies; verify per recording |
| 444 | 1.009091 | +15.67 | 3:57.84 | 121.09 | Alternate-tuning communities | Preference only |
Every ratio, cents value, runtime, and BPM in that table comes straight from the demo script below, computed on the box rather than typed in.
The history that actually checks out
Pitch used to be local. Before electronic references, an orchestra's A depended on its instruments, its organ, its city, and the temperature of the room. Cavanagh's short history of A=440 lays out the arc with sources. Nineteenth-century instrument makers pushed pitch upward because higher sounded more brilliant, until singers were straining at references near 450. In 1859 a French government commission made A=435 law in France. It was a compromise, and it was adopted for a time in some other European houses.
Britain went its own way. In 1896 the Philharmonic Society in London settled on 439. Cavanagh describes it as coming from a common but mistaken belief that the French 435 had been specified at 59°F, and then adjusting it for a warmer room. Broadcasting then forced the question internationally. A 1939 conference in London agreed on A=440, and ISO 16:1975 still specifies 440 Hz for the A in the treble stave. Cavanagh also notes that in practice pitch kept creeping upward in some places after 1939.
Two honest takeaways. First, 435 and 439 have real, documented histories, which makes them interesting listening references. Second, putting a modern record at 435 does not recreate a nineteenth-century performance. Period sound also depends on temperament, instrument construction, playing technique, the room, and the repertoire. One global ratio is one ingredient, not a time machine.
Reference pitch is not temperament
This is where a lot of online discussion goes sideways. Changing A4 moves the anchor. It doesn't change the relationships between notes. An equal-tempered major third is 400 cents wide whether A is 440 or 432. A pure "just" third (a 5:4 ratio) is about 386 cents. Turning one into the other means retuning individual notes relative to each other, which a single ratio applied to a finished stereo master cannot do. If someone tells you a 432 conversion "puts the song in natural tuning," the math says otherwise, and section C of the demo below measures it.
The source reference comes first
Batch software can't infer intent from a filename. It also can't hear that a recording was tracked against something other than 440. Maybe it's a sharper ensemble, an older session, a detuned production, or a file somebody already retuned. If the source was 442 and you apply the default 432/440, you don't land on 432. You land a couple of hertz above it, at a reference nobody chose.
How do you find out? Ask the session notes first. Failing that, put a good tuner (set to A=440) on a long, stable, exposed note, like a sustained piano chord, a held vocal, or a synth pad. If it consistently reads around +8 cents, you're probably looking at a 442 source, because 442 is +7.85 cents. Around −20 cents suggests 435. Around −32, it's already been retuned to 432, and the right move is to leave it alone. Write the number down before anything renders. This exact case is built into the folder workflow in Batch retune a folder to 432 Hz without damaging a master.
Proof on the box
Synthetic signals only: sines and filtered noise generated in code, so the measurements are clean and nothing here is anyone's record. The script prints the reference table, converts a 442 tone with the right and the wrong ratio, checks that an equal-tempered third keeps its size through a 432 conversion, and compares rendering 432 directly against stacking 440→435→432, once through lossless files and once through an MP3 in the middle. The renders use the same exact-ratio chain as the rest of this series: resample to 200 times the source reference, relabel as 200 times the target, come back to 48 kHz.
#!/usr/bin/env python3
"""10_reference_math.py: alternate A4 references by the numbers, plus three render checks.
SYNTHETIC AUDIO ONLY (tones and noise generated below).
Needs: python3 + numpy, ffmpeg on PATH. Usage: python3 10_reference_math.py"""
import math, os, subprocess, tempfile
import numpy as np
SR = 48000
tmp = tempfile.mkdtemp()
def cents(r): return 1200 * math.log2(r)
def mmss(s): return f"{int(s // 60)}:{s % 60:05.2f}"
print("A) reference table from a verified 440 source (classic resample: pitch and time move together)")
print(f"{'target':>7} {'ratio':>9} {'cents':>8} {'4:00 song':>10} {'120 BPM':>8}")
for t in (430, 432, 435, 436, 438, 439, 440, 442, 443, 444):
r = t / 440
print(f"{t:>7} {r:>9.6f} {cents(r):>+8.2f} {mmss(240 / r):>10} {120 * r:>8.2f}")
def write(x, path, rate=SR):
subprocess.run(["ffmpeg", "-y", "-v", "error", "-f", "f32le", "-ar", str(rate), "-ac", "1", "-i", "-",
"-c:a", "pcm_f32le", path], input=x.astype(np.float32).tobytes(), check=True)
def read(path):
raw = subprocess.run(["ffmpeg", "-v", "error", "-i", path, "-f", "f32le", "-ac", "1", "-ar", str(SR), "-"],
capture_output=True, check=True).stdout
return np.frombuffer(raw, np.float32).astype(np.float64)
def retune(src, dst, source_hz, target_hz, codec="pcm_f32le"):
chain = (f"aresample={int(source_hz*200)}:resampler=soxr:precision=28,asetrate={int(target_hz*200)},"
f"aresample={SR}:resampler=soxr:precision=28")
subprocess.run(["ffmpeg", "-y", "-v", "error", "-i", src, "-af", chain, "-c:a", codec, dst], check=True)
def peaks(x, lo, hi, n=1):
w = x[: SR * 4] * np.hanning(SR * 4)
sp = np.abs(np.fft.rfft(w, 32 * len(w))); f = np.fft.rfftfreq(32 * len(w), 1 / SR)
out = []
for a, b in ([(lo, hi)] if n == 1 else [(lo, (lo + hi) / 2), ((lo + hi) / 2, hi)]):
m = (f > a) & (f < b); out.append(f[m][np.argmax(sp[m])])
return out
t = np.arange(SR * 6) / SR
print("\nB) a file recorded against A=442, converted two ways")
write(0.4 * np.sin(2 * np.pi * 442 * t), f"{tmp}/a442.wav")
retune(f"{tmp}/a442.wav", f"{tmp}/right.wav", 442, 432)
retune(f"{tmp}/a442.wav", f"{tmp}/wrong.wav", 440, 432)
print(f" source A4 measured : {peaks(read(f'{tmp}/a442.wav'), 420, 460)[0]:.2f} Hz")
print(f" 432/442 (documented) : {peaks(read(f'{tmp}/right.wav'), 420, 460)[0]:.2f} Hz ({cents(432/442):+.2f} c)")
print(f" 432/440 (assumed default) : {peaks(read(f'{tmp}/wrong.wav'), 420, 460)[0]:.2f} Hz ({cents(432/440):+.2f} c)")
print("\nC) reference vs temperament: an equal-tempered major third keeps its size")
third = 440 * 2 ** (4 / 12)
write(0.3 * np.sin(2 * np.pi * 440 * t) + 0.3 * np.sin(2 * np.pi * third * t), f"{tmp}/third.wav")
retune(f"{tmp}/third.wav", f"{tmp}/third432.wav", 440, 432)
for name in ("third", "third432"):
a, b = peaks(read(f"{tmp}/{name}.wav"), 400, 600, n=2)
print(f" {name:9s}: {a:7.2f} Hz + {b:7.2f} Hz -> interval {cents(b / a):.2f} c "
f"(just third would be {cents(5 / 4):.2f} c)")
print("\nD) render every target from the original, or stack them? (broadband synthetic test)")
rng = np.random.default_rng(7)
x = 0.2 * rng.standard_normal(SR * 6)
x = np.convolve(x, np.ones(4) / 4, "same") + 0.2 * np.sin(2 * np.pi * 440 * t)
write(x, f"{tmp}/src.wav")
retune(f"{tmp}/src.wav", f"{tmp}/direct.wav", 440, 432)
retune(f"{tmp}/src.wav", f"{tmp}/s435.wav", 440, 435)
retune(f"{tmp}/s435.wav", f"{tmp}/stacked.wav", 435, 432)
retune(f"{tmp}/src.wav", f"{tmp}/s435.mp3", 440, 435, codec="libmp3lame") # ffmpeg default 128 kbps
retune(f"{tmp}/s435.mp3", f"{tmp}/stacked_mp3.wav", 435, 432)
d = read(f"{tmp}/direct.wav")
def residual(y):
best = None
for lag in range(-2000, 2001): # align, since encoders add delay
a = d[max(0, lag):]; b = y[max(0, -lag):]; n = min(len(a), len(b)) - 4000
e = a[2000:n] - b[2000:n]
r = 10 * np.log10(np.mean(e ** 2) / np.mean(a[2000:n] ** 2))
if best is None or r < best[0]: best = (r, lag)
return best
def lowpass(v, hz=16000): # brick-wall FFT low-pass, for a "band you can hear" view
V = np.fft.rfft(v); V[np.fft.rfftfreq(len(v), 1 / SR) > hz] = 0
return np.fft.irfft(V, len(v))
def band_residual(y, lag):
a = lowpass(d[max(0, lag):]); b = lowpass(y[max(0, -lag):]); n = min(len(a), len(b)) - 4000
e = a[2000:n] - b[2000:n]
return 10 * np.log10(np.mean(e ** 2) / np.mean(a[2000:n] ** 2))
print(" (difference = how far each stacked render sits from a direct 440->432 render; lower is closer)")
for name, path in (("440->435->432 lossless", "stacked.wav"), ("440->435 mp3 128k ->432", "stacked_mp3.wav")):
y = read(f"{tmp}/{path}")
r, lag = residual(y)
print(f" {name:24s}: A4 {peaks(y, 420, 460)[0]:.2f} Hz | full band {r:6.1f} dB | "
f"below 16 kHz {band_residual(y, lag):6.1f} dB | lag {lag}")
What it printed:
A) reference table from a verified 440 source (classic resample: pitch and time move together)
target ratio cents 4:00 song 120 BPM
430 0.977273 -39.80 4:05.58 117.27
432 0.981818 -31.77 4:04.44 117.82
435 0.988636 -19.79 4:02.76 118.64
436 0.990909 -15.81 4:02.20 118.91
438 0.995455 -7.89 4:01.10 119.45
439 0.997727 -3.94 4:00.55 119.73
440 1.000000 +0.00 4:00.00 120.00
442 1.004545 +7.85 3:58.91 120.55
443 1.006818 +11.76 3:58.37 120.82
444 1.009091 +15.67 3:57.84 121.09
B) a file recorded against A=442, converted two ways
source A4 measured : 442.00 Hz
432/442 (documented) : 432.00 Hz (-39.62 c)
432/440 (assumed default) : 433.96 Hz (-31.77 c)
C) reference vs temperament: an equal-tempered major third keeps its size
third : 440.00 Hz + 554.37 Hz -> interval 400.01 c (just third would be 386.31 c)
third432 : 432.00 Hz + 544.29 Hz -> interval 400.01 c (just third would be 386.31 c)
D) render every target from the original, or stack them? (broadband synthetic test)
(difference = how far each stacked render sits from a direct 440->432 render; lower is closer)
440->435->432 lossless : A4 432.00 Hz | full band -58.4 dB | below 16 kHz -130.7 dB | lag 0
440->435 mp3 128k ->432 : A4 432.00 Hz | full band -12.7 dB | below 16 kHz -14.3 dB | lag 0
What those numbers say
B is the expensive mistake. The 442 tone converted with the documented ratio landed at exactly 432.00 Hz. Converted with the assumed 440 default, it landed at 433.96, almost 8 cents sharp of the target. That's not a disaster you'd hear on a phone. But it means the file's label is wrong, and every later version built from it inherits the error.
C settles the temperament question. Before conversion: 440.00 and 554.37 Hz, 400.01 cents apart. After: 432.00 and 544.29 Hz, still 400.01 cents apart. The extra hundredth is the FFT's measurement resolution, not the conversion. The whole chord moved and its internal shape didn't change. A just third would be 386.31 cents, and nothing about a reference conversion gets you there.
D is subtler and worth reading carefully. Stacking two lossless conversions landed on the same 432.00 Hz, and below 16 kHz it was indistinguishable from a direct render: −130.7 dB of difference, which is numerically nothing. The full-band figure of −58.4 dB comes from the very top octave near the Nyquist limit, where each resampling pass applies its own steep anti-aliasing filter. So stacking lossless renders isn't a sonic catastrophe. It's a documentation catastrophe, because the file's history now has two steps nobody wrote down.
The MP3-in-the-middle path is different. The difference against a direct render was −14.3 dB below 16 kHz. Be careful reading that. Broadband noise is the hardest possible material for a perceptual codec, and codecs are designed to throw away what they predict you won't hear, so a big null difference isn't the same as a big audible difference. What it does prove is that the stacked file is no longer the same signal. It also carries the encoder's choices forward into every version built on top of it. That's the same reason re-encoding eats true-peak headroom.
The rule falls out on its own: render every target from the untouched original. If you want 435 and 432 versions, that's two renders from the 440 master. It is not one render from the other.
Custom targets are sound design, and that's fine
Sometimes 438 just suits the singer better. Sometimes a sample sits sweeter at 436 against the rest of the arrangement, or a slowed, darker 430 is exactly the mood. None of those numbers needs a mythology. They need a known source, an intentional target, a written ratio, and an honest A/B at matched level. Remember that classic mode moves time too: a 430 version of a four-minute song runs 4:05.58, and that slower pace is part of what you're hearing, the same way it is when you slow the bounce on purpose. If runtime has to stay fixed, a time-preserving shift is the alternative, with its own trade-offs, covered in Resampling, pitch shifting, and tempo change are three different jobs.
Write the cents value in your notes, not just the hertz. "Slightly lower" is not a production instruction. "−15.81 cents from a verified 440 source, classic mode" is.
- What is the difference between 432 Hz and 435 Hz tuning?
- Both lower A4 from 440. 432 is about −31.77 cents and 435 is about −19.79 cents. A=435 has documented history as the French standard set in 1859, while 432 is a modern alternate-listening preference without a standards role.
- How do I convert a 442 Hz recording to 432 Hz?
- Use 432 divided by 442, a ratio of 0.977376 or about −39.62 cents. Applying the usual 432/440 ratio to a 442 source lands near 433.96 Hz instead of 432.
- How do I calculate cents between two reference pitches?
- Cents = 1200 × log2(target ÷ source). From 440, 438 is −7.89 cents, 435 is −19.79 cents, 432 is −31.77 cents, and 444 is +15.67 cents.
- Does changing to 432 Hz change the tuning system or temperament?
- No. A reference change scales every note by the same ratio, so an equal-tempered major third stays 400 cents wide. Converting to just intonation or another temperament requires changing note relationships, which one ratio cannot do.
- Can I convert a 432 Hz file to 435 Hz?
- You can, but render every target from the untouched original instead. In our synthetic test, stacking lossless conversions was numerically harmless below 16 kHz, but an MP3 step in the middle left the file measurably different, and stacked versions are hard to document.
- Which reference frequency is correct?
- There is no universally correct one. 440 is the current ISO standard, 435 and 439 have documented history, and other targets are creative choices. Pick by matched-level listening on the record itself.