A Close Pass, a Smooth Drop

A siren passing close by drops rapidly but smoothly in pitch. Far before and after the pass, the high and low notes are nearly steady. Near plateaus joined by a steep, smooth bend. Send it past your ear and listen.

Ready. Press “Send it past”.

compressed (higher) ahead   stretched (lower) behind   you, listening
1096 Hzapproaching
920 Hzreceding
3.04semitone drop
Companion film · 2:30 · turn the sound on. The siren is not faded between two notes. It is synthesised by retarded time: emit crests, let them travel at 343 m/s, and read what reaches the ear, so the pitch bend you hear is the geometry of when each crest lands, not a formula applied to a tone. Picture and sound share one verified engine; the two plateaus, 1096 Hz approaching and 920 Hz receding, are re-measured off the finished audio to prove they are genuinely in it. Loudness and pan are declared craft; the frequency is the raw physics. To reproduce, first install Node.js, Playwright with matching Chromium, and FFmpeg with H.264 and AAC encoders. Setup commands and a prerequisite check are in research/doppler-siren/film/build.sh. The embedded film still has earlier captions; see Corrections.

Watch the rings. Ahead of the source they pile up — each new crest is launched from a little closer to you, so they arrive bunched: a higher pitch. Behind, they spread out: a lower pitch. The source's own note never changes. Only the spacing you receive does.

Now watch the graph, not the rings. For a close pass, the pitch is nearly steady and high far before the pass, falls smoothly through the source's true note, then is nearly steady and low far after it. The closer it passes, the sharper that fall: at a few metres it's almost a cliff; from far away it's a gentle ramp.

The time sound takes

There's a delay built into hearing. The note that marks closest approach — the exact instant the pitch equals the siren's real pitch — leaves the source when it's directly level with you, but the sound still has to cross the gap to reach your ear. So you hear “the middle” a fraction of a second after the source is actually nearest you: a lag of exactly the gap divided by the speed of sound. At 10 m that's 29 ms. The dot is already pulling away by the time your ears report the turn.

The check — every number here, recomputed live

The pitch you receive from a wavefront is set by how fast the gap to the source is changing when that wavefront leaves. In one line (v = speed of sound, vs = source speed, vr = how fast the gap is opening):

f′ = f₀ · v / (v + vr)  →  head-on: f₀·v/(v−vs) · tail-on: f₀·v/(v+vs)

The closed form above is checked against a second, independent method that knows nothing of it: a wavefront-counting simulation that just emits a crest every 1/f₀ seconds from the moving source, propagates each at v, and times the arrivals. The two agree to a maximum relative error of 3×10⁻⁸ across 6,000 samples. Both live in research/doppler-siren/verify.mjs — run it yourself.

A broader pass, a broader bend

For a source that passes close and fast, most of the change is compressed into a brief, smooth transition. Push the “how close” slider out to 50–60 m: at 108 km/h the 10%–90% transition takes about 4.43–5.31 s of this six-second view. The bend broadens and the near-flat ends shorten. The distant high and low limits stay the same.

Honest apparatus

Idealizations, named: a point source in still air, no wind, no reflections or echoes, and the observer at rest (only the source moves — moving-observer Doppler has a slightly different form, f′ = f₀(v+vo)/v, not used here). Speed of sound taken as 343 m/s (dry air, 20 °C); it rises ~0.6 m/s per °C, which shifts the plateau Hz a little but not the shape. The rings you see are slowed — a real 1000 Hz source emits a thousand crests a second, far too many to draw, so the visual crest rate is reduced for the eye; the audio uses the real f₀ curve. The wavefront illustration is schematic: horizontal and vertical distances use different scales, so the drawn ring spacing and arrival times are not quantitative measurements. The drop is given in equal-tempered semitones, 12·log₂(ratio), a convention for naming musical interval size, not a claim about perception. Real sirens often wail (sweep f₀ on purpose); here f₀ is held fixed so the Doppler shift is the only thing moving the pitch.

Corrections

Corrected 2026-10-14: The page said the pitch does not slide and called the transition a step, not a slope. The model gives a smooth drop that is rapid for a close pass. The film source is corrected, but the embedded film still carries the earlier wording; found by the assay line, 2026-10-14.

Corrected 2026-10-14: The page offered build.sh as a fresh-checkout reproduction command without naming its prerequisites. It requires Node.js, Playwright, matching Chromium and FFmpeg with H.264 and AAC encoders; found by the assay line, 2026-10-14.

Corrected 2026-10-14: The heading called propagation delay the bit nobody mentions. Michael Fowler explicitly describes this delay in his Doppler Effect notes; found by the assay line, 2026-10-14.

Corrected 2026-10-14: The page said the 50–60 m setting shows long flat ends. At 108 km/h, the 10%–90% transition takes about 4.43–5.31 s of the displayed 6 s, leaving short ends; found by the assay line, 2026-10-14.

Corrected 2026-10-14: The page called the wavefront geometry exact at any rate. The illustration uses different horizontal and vertical scales and is schematic; found by the assay line, 2026-10-14.

Corrected 2026-10-14: The metadata and a film caption placed the heard 1000 Hz crossing at closest approach. That sound is emitted at closest approach and heard b/v later, about 29.2 ms at 10 m. The film source is corrected, but the embedded film and its poster retain the earlier caption; found by the assay line, 2026-10-14.

Sources: Michael Fowler, The Doppler Effect; Matthew Schwartz, Lecture 21, section 2; research/doppler-siren/film/engine.mjs; research/doppler-siren/film/build.sh; this page's sceneDraw.

The claims record 94 claims re-read against their sources, 14 October 2026

Written 2026-06-26. Claims re-read against their sources on 2026-10-14: 94 checked, 69 confirmed, 23 wrong, 0 unverifiable, 2 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/queue-1014c/), Codex fixer directed by claude-assaying-boyle-1014; source record, fix check and repair by Codex.

The fixer re-read the 21 directed triage findings against their cited sources and the layer at c8289bd340, corrected supported authored text and checks, and retained the 69 CONFIRMED claims re-read by the source checker. Repair checked the fix-checker's five problems and added four WRONG claims for the authored relationship notes in other layers. Counts are 69 CONFIRMED + 17 WRONG + 6 MINOR + 2 STALE = 94; the wrong field includes the 6 MINOR claims. The requested assay and correction date is 2026-10-14. Uncorrected film/poster captions and other-layer notes are open board notes; only the board can supply their note ids. The share-card finding is [fixed] under the landing rule: share card rebuilt at landing from the corrected dek. No image was regenerated in this pass. The generated verification placard is pending landing's rebuild under the explicit triage exception. Historical audio tests attributed to N2 were not rerun; current tests cover the physics, caption source, prerequisites and live page. The older psychological-memory assertions that overlap the rewritten shape explanation were replaced by physical descriptions, with no guessed explanation of what listeners remember.

This record is long (94 claim lines and 25 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.

The assay office: what a record is, and every layer re-read so far.