AirportFM
Sign in / Sign up ↗

A living score.
Made by the runway.

51.4700° N   0.4543° W London, UK

LONDON HEATHROW / EGLL
Weather…
CONNECTING TO ADSB.LOL
⚙
Top down · 2.4× · 0° tilt

Drag to pan · right-drag or Shift-drag to orbit · scroll to zoom

© OpenStreetMap contributors · ODbL
✦ Live aircraft Approach / departure funnels
THE COLLECTIVE SIGNAL

Every flight, a different voice.

Audio awaits your invitation
Flight-by-flight audio energyOne unfolding composition
Signal details

Connecting to the airfield…

Connecting to ADSB.lol…

15s behind the sky. Always moving forward.

A PLACE IN MOTION

Less flight tracker.
More feeling.

A few miles of sky. Two runways. Countless little moments,
coming together as something you can listen to.

0descending
0climbing
0on ground
0listening

Tracked from 10 miles of runway threshold. Music from 5 miles.

Who’s tuned in ↗

Positions: ADSB.lol · ODbL 1.0
Runways: OurAirports · Airfield: © OpenStreetMap contributors
Weather: Open-Meteo · modelled conditions
Aircraft association inferred. No operational delays claimed.

THE IDEA BEHIND THE SIGNAL

A place, translated
into sound.

Reading the live score

BPM is the musical pulse: beats per minute. The starting tempo is set in Studio; the current default is 68 BPM. Aircraft activity and optional Weather mood adjust its target, while Opening, Flow, Lift and Drift shape the arrangement.

What sets the tempo?

The target is the Studio tempo, adjusted for weather when enabled, plus a small activity lift. In live mode, the default threshold in Studio is 12 moving aircraft in the five-mile listening area. Up to that count adds no extra speed; above it, the lift grows gradually to a maximum of 6 BPM at 30 aircraft. Aircraft tracked farther away do not affect the music or its tempo.

With Weather mood on, sunlit daytime conditions raise the base target by 12%, rain lowers it by 6%, snow lowers it by 18%, and night adds a further 15% reduction. From a 68-BPM base, that is approximately 76 in sunshine, 64 in daytime rain, 56 in daytime snow or 58 on a clear night, before the activity lift. Weather also changes softness, brightness and percussion.

Changes settle gently: activity smooths over about three seconds and weather over about five. At each new bar, the tempo moves partway toward the current target. The rounded BPM on screen can therefore take several bars to settle.

What do Opening, Flow, Lift and Drift mean?

These are automatic musical stages, each lasting eight bars. They progress with the musical clock rather than being selected by traffic or weather.

StageWhat you hear
OpeningA gentler level, introducing the musical material.
FlowA fuller level, keeping the piece moving.
LiftThe strongest level, with an extra bass accent when rhythm is active.
DriftA quieter level, with percussion removed.

The sequence then returns to Opening. A change to Lift does not directly increase BPM; a simultaneous tempo change comes from activity, weather or the tempo still settling.

What does “phrase 3/8” mean?

The current display counts bars within the phrase: “phrase 3/8” means the third bar of an eight-bar phrase. A bar contains four beats. Eight bars form one phrase, and four phrases form the 32-bar Opening → Flow → Lift → Drift arrangement cycle.

At a steady 68 BPM, one bar lasts about 3.5 seconds, one eight-bar phrase about 28 seconds, and the full four-stage cycle about 1 minute 53 seconds. Those durations change with the tempo.

Why can it feel like a loop?

The chord progression currently repeats every eight bars. Melodic choices shift between phrases, sections change the energy and rhythm, and aircraft enter, leave and move through their notes. It is an evolving generative piece with a repeating musical framework, rather than a recorded loop.

A longer 16- or 24-bar phrase could make the structure feel more expansive if the chords and motifs develop across that whole span. Repeating the same eight-bar material twice or three times would still retain that familiar loop. A useful future experiment would be a 16-bar phrase whose second half answers or varies the first.

Aircraft play the instrument.

Live aircraft observations from ADSB.lol play an original, evolving ambient composition. Eight-bar harmonic phrases move through opening, flow, lift and drift sections. Chords, a soft bass line and restrained percussion create a musical foundation. Each aircraft has a stable melodic motif; its buffered altitude varies the notes, its motion selects a voice, and its map position pans that voice. The scale, root, tempo and layer levels are editable in Studio. Nothing is a pre-recorded song. Coloured links show each flight’s contribution, and choosing a flight highlights its path and wave. A 15-second playback buffer eases aircraft positions, headings and altitude between received observations. Trails follow the buffered path, with no prediction beyond the latest received position. Long gaps are not interpolated. The music follows the same buffered state, with gradual intensity changes. Initial connection needs about 15 seconds of observations before the composition begins. The map uses a local ground projection with a controllable perspective camera. Airport footprints are community-mapped; building heights and the vertical altitude scale are approximate, not navigation data.

Calm has room to breathe.

More observed aircraft shorten the space between notes and brighten the texture. The server shares one ADSB.lol request every 10 seconds between listeners. Positions older than 30 seconds are removed, and feed failures are labelled. No activity or no fresh data means no new notes; existing tones decay into silence. Each flight has a separate audio meter. Coloured ribbons use its measured sound energy, with visual amplification so quiet ambient notes are visible; their flowing shapes are artistic, not a raw oscilloscope. The white thread combines the flight envelopes. Mute flattens the waves. The circular airfield pulse places observed ground-aircraft density around a compass ring, with stronger peaks following the five-mile listening mix. Its density outline remains visible when muted. Local modelled weather is shown beside Heathrow. The optional Weather mood toggle brightens and quickens the music in clear/partly cloudy daylight, darkens rain, relaxes night-time tempo and softens snow. Day/night comes from the airport weather feed. Changes ease in gradually; stale or unavailable weather returns to the base mix. Weather data comes from Open-Meteo, with JetClock-style Meteocons icons. Manual weather, holding and disruption scenarios remain available in the labelled simulation mode in Studio.

What the feed can tell us

The live composition focuses on Heathrow’s airfield and narrow corridors extending ten statute miles (about 8.69 nautical miles) from runway thresholds. Funnels widen from 0.45 nautical miles either side of a runway to 3 nautical miles at their outer ends. Approaching aircraft are limited to 6,000 feet and within 35 degrees of either runway direction. Climbing aircraft may reach 12,000 feet and turn progressively farther from runway alignment. Once a departure has been observed inside a funnel, it can remain included for up to 60 seconds after leaving it, while still within the 11-nautical-mile query area and freshness limit. Only aircraft inside five statute miles of their nearest runway threshold contribute to the music or signal ribbons. The distance follows the buffered map position; existing voices fade at the boundary. Farther aircraft stay visible with a view-only distance label. We display only newly received positions; that follow-through never predicts a departure’s path. Ground observations are bounded to the illustrative airfield area. The server requests an 11-nautical-mile circle to cover those corridors, then applies these tighter filters. This removes most passing traffic, but position alone cannot confirm airport association. The closer airfield is drawn from a cached OpenStreetMap extract. Use the map’s 2D and 3D buttons, mouse wheel or zoom buttons, and drag to pan. Right-drag or Shift-drag changes tilt and bearing. Compact tilt/rotation sliders appear below 3D, and stay hidden in 2D. The gear menu groups Flight IDs, Reset and Fit 10 mi. Click empty map space or elsewhere on the page to clear a selected aircraft. Reset returns to the closer airfield; Fit shows the full tracking area. Keyboard users can focus the map: arrows pan, Shift-arrows orbit, +/− zoom, R resets and C toggles Flight IDs, and Escape clears selection. Buildings use mapped footprints with approximate heights. Aircraft altitude is barometric, shown with a labelled 1.6× vertical exaggeration. Airborne tails fade over the preceding 20 seconds of buffered playback, without retaining older positions. Holding stacks and queues are not inferred or included as live features. Descending/climbing musical roles begin from observed vertical rates beyond ±192 feet per minute. Recently observed departures retain their departure voice during the bounded follow-through window, including while levelling off. Reception coverage can miss aircraft, especially on the ground. ADSB.lol may include MLAT and rebroadcast positions alongside ADS-B. Weather conditions are modelled local conditions from Open-Meteo, not METAR or runway wind observations. The shared weather cache refreshes every ten minutes; conditions older than 45 minutes do not influence the music. Local weather mood is optional and remembered in this browser. Meteocons icons are by Bas Milius (MIT).

You choose when to listen.

Enable audio once, then adjust volume or mute. Aircraft and the composition continue without playback controls. Your browser may suspend sound in the background; return here and use Resume audio if needed.

Heathrow · Available now

A warm, restrained arrangement of soft chord voicings, rounded bass, flight motifs and slow echoes. This is an original artistic response to Heathrow’s constant exchange of people and movement, not a claim to represent London or British musical identity.

Other places · Coming soon

Toronto Pearson: a possible direction is layered, open harmonies reflecting an airport as a meeting place. No single sound could stand for Toronto’s many communities.

Hong Kong: a possible direction is bright, interlocking tones and spacious resonance, inspired by the movement of a connected coastal hub, rather than imitating a cultural tradition.

Mumbai: a possible direction is gently interwoven rhythmic layers and warm sustained tones. These are design ideas, not a raga, religious music, or a representation of Indian music.

These future profiles need research, listening and feedback from local musicians before release. No traditional instruments or culturally specific musical systems are claimed here.

CONNECTED BY THE RUNWAY

Who’s tuned in.

One airport. A world of listeners.

↗ Back to the sound
THE LISTENING WORLD
Waiting for listening activityDrag to explore · scroll to zoom

Countries light up after someone listens. Dots show approximate areas, not precise locations.

0monthly listenersUnique browsers or signed-in accounts · UTC month
0countries tuned inSince listener records began
0total minutes listenedEveryone’s listening time, together

Your little dot in the world.

Your location is estimated only after you enable audio and listen.

Prefer to choose your country?

Your selection saves automatically and highlights the country. It joins your listening record after you listen, without a city dot.

IP locations are estimates rounded to about 0.1°. VPNs can change the result. Names, emails and raw IP addresses never appear on this map. Anonymous listening works without an account; clearing cookies can count the same person again. Minutes start with this version, not earlier visits. Country shapes: Natural Earth, public domain. Location: IPwho.is.

YOUR SEAT BY THE RUNWAY

Make yourself at home.

Keep your listening time, climb the ranks and request the airport you want to hear next. Listening is always open without an account.

YOUR LISTENING LOGBOOK

Your next chapter.

Sign in or create an account to keep a listening logbook.

PRIVATE LOCAL STUDIO

Shape the signal.

Edits are local to this server. Save a draft, audition it, then publish to the listener.

Your saved local password is in .local/admin-password. No ADSB.lol account or key is needed.

Local-only server, bound to this computer. Public deployment requires production authentication, HTTPS, shared storage and a protected admin backend.