Enter a city name or ZIP code, or tap π for your location
Tap Poll to fetch live weather
Press βΆ Play β music emerges slowly
Try Random for a surprise city, or Drift to auto-travel between cities
Live weather shapes every dimension of the music. Brownian motion generators create evolving melodic phrases that are sliced, reversed, and recombined. Chords drift between related harmonies every 20β40 seconds. Time of day adjusts density and brightness. No two moments ever repeat.
Weather data is fetched when you poll, use Random, or when Drift cycles to a new city. When playing a static location, weather automatically refreshes every 5 minutes to keep pace with changing conditions. Auto-refresh pauses during Drift.
Each weather condition has its own musical identity:
Sunny β C major, warm timbre. Bright, open voicings.
Night β C minor, dark timbre. Deep, mysterious phrasing.
Partly Cloudy β C major, mellow timbre. Relaxed, drifting.
Cloudy β C minor, mellow timbre. Subdued, contemplative. Hold the canvas to roll a low-pass filter over the mix.
Rain β C minor, ethereal timbre. Sparse melodies with rain textures.
Storm / Heavy Storm β C minor, dark timbre. Glitch events, thunder, and tension. Heavy storms bring more frequent and intense distortion.
Snow β D Lydian, crystal timbre. A low-pass filter at 1950βHz muffles everything like a snow blanket. Crystalline bells in the upper register cut through. Ice crunch clusters bounce through the delay. No percussion. Muffled brown-noise wind underneath.
Fog β D Dorian with sus and 9th voicings, foggy timbre. A low-pass filter at 2400βHz with a warm resonant hump. Three layers of fractal fuzz (evolving filtered noise at different speeds) are always present. A Risset scale β the illusion of an endlessly descending tone β drifts in and out occasionally, wide in stereo. Hold the canvas to progressively obscure the audio (fog-only interaction).
When Force Condition is set to Auto, the resolved conditionβs button shows a subtle neutral outline, and the Auto button itself takes the conditionβs color.
City or ZIP β enter any city name or US ZIP code. ZIPs use precision geocoding; city names use weather API lookup.
Poll β fetches current weather for the entered location.
π β auto-detects your location via GPS. Requires precise location permissions in your browser settings.
Random β picks a random city worldwide.
Drift β automatically travels between random cities every 30β60 seconds.
Weather sliders β manually override temperature, humidity, wind, pressure, and direction.
Force Condition β Auto follows weather conditions; or force a specific mode (Sunny, Night, Partly Cloudy, Cloudy, Rain, Storm, Heavy Storm, Snow, Fog). Auto shows the resolved condition with a neutral outline on its button.
Timbre β Auto picks timbre from weather; or choose Warm, Mellow, Dark, Ethereal, Crystal (snow), or Foggy. When on Auto, the resolved timbre shows a subtle underline.
Canvas β tap the visualization to trigger a ripple and mode-appropriate sound (bells in clear weather, thunder in storms, wind in snow). In cloudy mode, hold the canvas to roll a low-pass filter over the mix β the longer you hold, the more muffled everything becomes, like a thick cloud passing overhead. In fog mode, hold the canvas to progressively stutter and obscure the audio with bitcrushing and filter drop. Release in either mode to fade back smoothly over ~2.5 seconds.
Blend weather from multiple cities simultaneously. Each layer is an independent voice with its own weather.
+ Add Layer β adds a new layer (up to 4). Enter a city or ZIP, then tap the layerβs Poll or Random button.
Each layer card shows the city name, local time at that timezone, and current condition.
Volume slider β per-layer volume. Mute β silences a layer without removing it. β β removes the layer.
Create shared ambient sessions with other people in real time using peer-to-peer audio.
Create Room β generates a 4-letter room code. Share it with others to start a session.
Join Room β enter a room code to connect. You can also join via a shared link.
Share β sends a join link (or copies it to clipboard).
Leave β disconnects from the room. Your local playback continues independently.
Each peerβs weather shapes their own voice. All voices layer together through a shared mix. Peer colors appear in the peer list. Canvas taps are visible to all peers as colored ripples with quiet accompanying sounds.
Voice volumes β individual sliders for Bells, Pads, Bass, Texture, Perc, and Field.
Reverb & Delay β shared space effects applied to all voices.
Tape β Off, Subtle, Medium, or Heavy analog tape emulation (wow, flutter, noise, low-pass filtering).
Vinyl β engages a vinyl record effect with crackle, wobble, and filtered warmth.
Master Volume β overall output level.
Density β scales how often notes and events occur across all voices. Center is default (1Γ). Left is sparse, right is dense.
Sleep Timer β Off / 30m / 60m / 90m / 2hr. Starts a gentle 2-minute fade to silence before auto-stopping. Room connections are preserved β tap play to resume.
βΆ / β β play / stop all voices.
Mode & condition β shows current weather mode and city.
Nixie clock β displays local time at the weather sourceβs timezone with an animated warm-glow display.
The nixie clock is interactive. Hold the clock for 300ms and both gesture arrows appear:
Drag left β Time Machine β a vinyl-groove scrubber extends from the clock. Weather snapshots are recorded every 30 seconds (up to 5 hours). Scrub through past weather states β the engine re-interprets historical conditions with fresh note choices. Detent marks show actual snapshot positions. Drag the thumb back to the right edge to return to live, or tap the clock. The scrubber compresses with a squish animation as you return.
Drag up β Sleep Timer β a duration picker springs up above the clock. Pick 15m / 30m / 45m / 60m / 90m, or Off to cancel. When active, the clock shifts from warm amber to cool blue, gradually dimming as time runs down. A small βslpβ indicator appears. Syncs with the Mix tab sleep buttons.
Bells β FM synthesis tones with evolving melodic phrases. Crystal-sharp in snow, warm and soft in fog.
Pads β detuned clusters with crossfading chord progressions. Triangle-wave in fog for extra warmth.
Bass β sub-bass following chord roots. Nearly silent in snow.
Texture β harmonic shimmer and high-register accents.
Perc β wooden taps, brushes, filtered clicks. Disabled in snow, sparse in fog.
Field β environmental sounds (rain, wind, thunder, cloud textures). Snow adds muffled wind and ice crunches that bounce through the delay. Fog adds three layers of evolving fractal noise.
Particles drift with wind speed and direction. Particle count scales from 12 (calm) to 30 (high wind). Colors shift with weather mode. Particles bloom on every bell note.
Audio is routed to an AirPlay-compatible stream. Use your deviceβs AirPlay controls to send audio to external speakers.
Safari β Share β Add to Home Screen for a standalone app experience with offline support.