The ocean’s wave energy spectrum, in continuous flow. The display runs exactly 75 minutes behind real time: there is always a solid measurement on either side of the shown moment, and the curve interpolates between them at the speed of real time. The position is computed from the clock alone; refresh the page or open it on another device and the flow continues from the very same place. The map below opens on the last 45 days, and from there you can travel to any measured moment back to 1996.
The left half of the curve is long period swell: letters from storms thousands of kilometers away. The right half is the short chop raised by the local wind.
Every bright streak climbing from lower left is a single distant storm: its longest waves arrive first, then ever shorter ones over days. The slope of the streak tells the storm’s distance.
The flow is always a linear bridge between two real measurements; no invented motion. The fixed delay of 75 minutes guarantees both feet of the bridge are solid data and locks the flow to the real clock.
Each note is a spectral peak of the sea. True peak frequency comes from parabolic interpolation over the three bins around each local maximum, with uneven bin spacing accounted for.
audio Hz = wave Hz × 4096 (2¹², exactly 12 octaves up)
Multiplying by a power of two preserves every interval ratio: the chord’s structure is the sea’s structure. Audio plays the exact Hz; notation rounds to the nearest quarter tone and prints the residual to 0.1¢.
measured: peak frequencies · chosen: the constant 2¹²
amplitude = √(peak energy / 40 m²/Hz), capped at 1
The scale is absolute, not relative: 40 m²/Hz always means fff, so a calm sea is genuinely quiet and a storm genuinely loud. Dynamic marks ppp to fff follow fixed thresholds on this amplitude. Ink darkness in the notation uses the same value.
measured: peak energies · chosen: the 40 m²/Hz reference and the threshold table
Each peak’s own region reaches to the neighboring local minima. Local spectral width σf from the region’s moments gives the group envelope time:
τ = 1 / (2πσf) · A = D = τ/2 · R = τ · S = √(floor energy / peak energy)
Envelopes run in ocean seconds, in real time: a slow swell truly swells slowly. A resolution floor keeps σf at or above a third of the local bin width so single bin spikes cannot claim infinite envelopes.
measured: σf, τ, floor and peak energies · chosen: the A D R proportions, the plateau of 0.6 (A + D + R), the curve shapes, and playing in ocean seconds rather than ÷4096
One oscillator per note with a fixed waveform: harmonic amplitudes 1, 0.22, 0.09, 0.045, 0.018, 0.008. This softens the pure sine for the ear and carries no data.
measured: nothing · chosen: everything (a purely aesthetic constant)
The log spectrum is sampled on a uniform log frequency grid of 96 points and smoothed with a Gaussian of 0.07 decades; the humps of this envelope are the formants (up to three, within 12 dB of the top), each with a −3 dB band.
white noise → three bandpass filters at the formant centers · Q = center / bandwidth · band gain = relative envelope level · overall level = min(√m0 / 2.5, 1) × 0.20
The vowel label compares F1 and F2 to IPA references by log distance. It is display only and is not sonified; the sea’s formant space is narrow, so it sits near [u] almost always. This limitation is real and stated rather than corrected.
measured: centers, bandwidths, levels, total energy · chosen: grid size, smoothing width, band count, level constants
Live view runs exactly 75 minutes behind the clock and interpolates linearly between the two real measurements bracketing that moment, at the speed of real time. Nothing moves that the sea did not do.
Notes are born and die through a soft threshold: a peak fades in between 50% and 100% of the audibility floor (6% of the row maximum, at least 0.10 m²/Hz). A sounding voice follows its peak while it stays within one semitone; frequency and loudness glide with time constants of about one second. Master chain: the volume control (default 50%) into a safety compressor at −18 dB, which shapes nothing musically.
measured: all motion between measurements is linear interpolation of data · chosen: the 75 minute delay, fade thresholds, glide times, playback speed range
© 2026 Saim Gülay. Breath of the Pacific: the concept of the living score, the notation system and its visual design, the sound design and all texts are the work of Saim Gülay. breathofthepacific.com
All source code is free software under the GNU General Public License v3.0. You may use, study, modify and redistribute it; derivative works must remain under the same license and keep the copyright notice.
SPDX: GPL-3.0-only · gnu.org/licenses/gpl-3.0
The artistic work is licensed under Creative Commons Attribution NonCommercial ShareAlike 4.0 International. Attribution is required, commercial use needs prior written permission, adaptations must carry the same license.
CC BY‑NC‑SA 4.0 · creativecommons.org/licenses/by-nc-sa/4.0
Gülay, S. (2026). Breath of the Pacific: a living score of the Pacific wave spectrum. breathofthepacific.com. Wave data: NOAA National Data Buoy Center.
Any public use, performance, recording or writing that builds on this work must carry this credit and a link to breathofthepacific.com.
Wave measurements: NOAA National Data Buoy Center, buoys 46059 and 46002, US public domain; no rights are claimed over the data itself. Notation font: Bravura © Steinberg Media Technologies, SIL Open Font License 1.1.
For commercial licensing, exhibitions, recordings or any use outside these terms, contact the author via breathofthepacific.com.