Sep 26 · Nor'easter · full moon 12:49

Storm Song — turn tonight's storm into music you keep

The storm is outside right now, and the full moon peaks during this class. At the Boston tide gauge the ocean has been running above its own forecast for more than a day — never less than +0.57 ft, and +1.66 ft at the last reading. Today you turn those real measurements into a track that you can download, keep, and put your name on.

1 · Warm-up: hear a beat

You know this one. Two tones that are close but not equal drift in and out of step; the loudness swells and fades — a beat (one "wah").

beats per second = |f₁ − f₂|  →  2 per second, then 4 per second

2 · Let the tide sing

The Moon drives a tide rhythm with period M2 = 12.4206 h; the Sun drives one with S2 = 12.0000 h. Almost the same — just like 440 and 442.

Time compression. Suppose 1 hour of real time becomes a tiny slice of song. Then every duration shrinks by the same factor, so every frequency grows by that same factor. Differences change; ratios survive. That is why a squeezed tide can still be music: music lives in ratios.

RhythmReal periodAs sound
Moon (M2)12.4206 h100 Hz (our choice)
Sun (S2)12.0000 h100 × 12.4206 / 12 = 103.505 Hz
Their beat1 / |1/12 − 1/12.4206| = 354.4 h = 14.77 days3.505 beats per second

To turn M2 into 100 Hz, time is sped up about 4.47 million times: one hour of tide lasts 0.805 ms of sound. The 14.77-day beat is the spring–neap cycle — the big tides around full and new moon, like the one tonight.

100 Hz is low — laptop speakers may barely play it; headphones help. The second button multiplies both frequencies by 4: the ratio is unchanged (same interval), but the beat becomes 14.02 per second. Ratios survive scaling; differences do not.

3 · Predict first — the composer stays locked until you do

Rule Predict → Make → Explain. The Play and Render buttons below are disabled until you write a prediction. That is not a bug. A prediction written after hearing the answer is not a prediction.

In the song below, the second voice beats against the first at a rate set by the storm surge. Where in your song will the beating be fastest, and why?

Locked — write a prediction (at least 3 characters).

4 · The composer

Three voices, each driven by one real measurement. Every mapping is a formula, and every formula is on screen. The data: 266 readings, one every 6 minutes, 26.5 hours in total (Sep 25 00:00 → Sep 26 02:30 EDT).

observed level predicted tide (astronomy only) surge = observed − predicted

The highest water was 11.46 ft at 23:24 on Sep 25; the lowest 1.48 ft (MLLW datum). At the top of each hour the surge ranged from +0.57 to +1.61 ft; the 6-minute record peaks at +1.66 ft at 02:30 on Sep 26 — the very last reading we have.

Voice 1 · "the sea" — water level → pitch

n = 3 · (h − 1.479 ft)  →  snapped to scale  →  f₁ = base · 2^(n/12)

Linear in n ⇒ exponential in f — equal steps in semitones are equal ratios in Hz (each semitone multiplies by 2^(1/12) ≈ 1.0595). Water rising a steady amount sounds like a steady climb, not a squeeze toward the top.

Voice 2 · "the storm" — surge → beats

f₂ = f₁ + k · surge  ⇒  beats per second = |f₂ − f₁| = k · surge

Same pitch as the sea, pushed off by the surge. The more the ocean runs above its forecast, the faster your music wobbles. Voice 2 is a pure sine, so it beats against the sea's fundamental only.

Voice 3 · "the pressure" — air pressure → brightness

drone = base/2 with harmonics 1, 1/2, 1/3 … 1/16  →  low-pass cutoff = (base/2) · (1.5 + 10x), x = (1025.7 − P) / (1025.7 − 1014.4)

A low-pass filter removes the upper harmonics from the recipe. As the pressure falls (x goes 0 → 1), more harmonics get through and the drone gets brighter — same note, different Fourier recipe, different sound. At Boston the pressure fell from 1024.4 to 1014.4 hPa in the 24 hours to Sep 26 02:00.

Time

The last reading (the surge peak) is held for a 1.5 s ring-out so you can hear the storm's fastest beat.

Nothing playing.

Your track

statusnot rendered yet
Render log — each render is a new version. (no renders yet)

Your prediction vs the data

Locked until your first render.

Recipe card — the credit for your piece

One sentence: why does this mapping make musical sense?

One place this song is not honest about the storm.

Auto-filled from your choices. Copy it into your essay notes or send it with the file.

5 · The math behind it

(a) Semitone steps are ratios

f = base · 2^(n/12). Adding 1 to n multiplies f by 2^(1/12) ≈ 1.0595; adding 12 multiplies by 2 — an octave. So your "semitones per foot" slider is secretly an exponent: 3 semitones per foot means every foot of water multiplies the pitch by 2^(3/12) ≈ 1.1892.

(b) Detune makes beats

Two sines at f₁ and f₂ add to 2·cos(π(f₁−f₂)t)·sin(π(f₁+f₂)t): a tone at the average frequency whose loudness swells |f₁ − f₂| times per second. Your storm voice sets f₂ − f₁ = k · surge, so the surge becomes a tempo you can hear.

(c) Time compression keeps ratios

Squeezing 26.5 h into L seconds multiplies every frequency in the data by the same factor (26.5 × 3600 / L). A tide that repeats every 12.42 h still repeats — just every 12.4206 × L / 26.5 seconds (14.06 s when L = 30). Two rhythms in a 3:2 ratio stay 3:2. That is the whole reason a data song can keep the shape of the storm.

Deep · why a sampled song has a speed limit (sampling)

The gauge reports once every 6 minutes. A wiggle in the sea that goes up and back down between two readings is invisible: you need at least two samples per cycle to see a cycle at all. This is the Nyquist limit — in one plain sentence: with samples spaced Δ apart, the fastest cycle you can represent has period 2Δ. Here Δ = 6 min, so nothing in the data is faster than a 12-minute cycle. In your song that becomes a fastest possible "data wobble" (see the readout under Time). Real waves do move every few seconds — the data simply cannot contain them.

Choosing fewer notes than readings (4 or 6 per second) makes the spacing bigger again: the song then skips between readings (values in between are linearly interpolated), and its own speed limit drops. The page caps notes at 266 because more notes than readings would just repeat interpolated numbers and pretend to be data.

Deep · why surge is a subtraction

NOAA's prediction is the astronomical tide only — Moon and Sun, no weather. So observed − predicted is what the weather added. The prediction is hourly and the gauge is every 6 minutes; this page fills the gaps by straight lines between hourly points (linear interpolation). Check one yourself: at 00:30 on Sep 25 the prediction is halfway between 8.799 and 7.015 = 7.907 ft, the gauge read 8.687 ft, surge +0.780 ft.

(d) The weather: what is a nor'easter?

A nor'easter is a low-pressure storm that travels up the East Coast. Winds circle a low counter-clockwise, so as it passes to the south and east of Boston, the winds here blow from the northeast — off the ocean, onto the shore. That wind pushes water toward the coast and it piles up in the harbour: a storm surge.

Low pressure also lets the sea bulge up a little, like a lid being lifted — the inverse barometer effect, roughly 1 cm of sea per 1 hPa of pressure fall (an approximation: the sea needs time to respond, and harbours can change it). Boston's pressure fell 10.0 hPa in 24 hours → about 0.10 m ≈ 0.33 ft.

Compare with the surge: even if every hPa of that fall went straight into the sea, pressure explains only about 20% of +1.66 ft. Most of the surge must come from something else — most likely the wind. That is a real finding, and you can check it: this gauge has no wind sensor, so you would need airport wind data for the same hours.

Deep · where "1 cm per hPa" comes from

A water column of height Δh presses down with ρ·g·Δh. For the sea to rise until it balances a pressure drop ΔP: Δh = ΔP / (ρ g). With ΔP = 1 hPa = 100 Pa, ρ = 1025 kg/m³ (seawater), g = 9.81 m/s²: Δh = 100 / 10055 ≈ 0.0099 m ≈ 1 cm. For 10 hPa: ≈ 0.099 m ≈ 0.33 ft.

What this song cannot tell you

6 · Check yourself — 5 questions

Data: NOAA CO-OPS station 8443970 (Boston, MA) — water level (6-min, PRELIMINARY, ft above MLLW, EDT), astronomical tide predictions (hourly), air pressure (hourly, hPa). Retrieved 2026-09-26 about 02:35 EDT and embedded in this page, so it works offline. Full moon 2026-09-26 12:49 EDT. Tide constituent periods are textbook constants.
RUDO Learning Hub · nothing on this page is stored or sent anywhere. Your track is made in your browser.