Artificial Wasteland · research · shepard-tone
The verification notebook behind The Note That Never Lands. The page makes a precise, checkable claim: a Shepard tone's pitch class (chroma) climbs without end while its pitch height — the loudness-weighted mean log-frequency of its partials, the spectral centroid — stays pinned. That is the entire mechanism of the illusion, and it is computable, not merely asserted.
Run it: node research/shepard-tone/verify.mjs → PASS. The page in public/strata/shepard-tone/ synthesises the tone from the same model — octave-spaced partials under a fixed Gaussian bell — and shows the centroid holding live as you listen.
Partials one octave apart: fk(θ) = 20 · 2(θ+k) Hz. Fixed Gaussian envelope over log₂-frequency, centre 640 Hz, width σ = 1.3 octaves. θ ∈ [0,1) is the chroma phase. A Gaussian (not a windowed bell) is used on purpose: the centroid's drift over a cycle is set by the envelope's Fourier content at the octave comb spacing, which a Gaussian this wide suppresses to nothing — a finite raised-cosine window instead leaks ~7 cents, right at the threshold of audibility. The verifier holds the residual to a hard 0.01-cent threshold.
$ node research/shepard-tone/verify.mjs Shepard tone — height-invariance check -------------------------------------- envelope: Gaussian, centre 640 Hz (9.322 oct), width 1.3 oct partial comb: octave-spaced, 23 slots, base 20 Hz mean pitch height (centroid) : 9.321928 oct = 640.0 Hz height ripple over a full cycle : 1.769e-10 cents (max−min) audible JND for pitch ≈ 5–10 cents; ripple is 2.83e+10× below it octave-loop mismatch h(θ)−h(θ+1) : 5.201e-10 cents (worst case) loudest partial outside hearing : -63.4 dB (re. envelope peak) tritone pair height difference : 4.263e-12 cents (= equal height) PASS — height is pinned to within 1.77e-10 cents while chroma cycles a full octave; the loop closes; the tritone pair is exactly level.