The Racetrack in the Sky Had a Time Signature
Ceiling dropped to scattered at 2,500 feet. Not low enough to cancel a VFR flight, but low enough that I chose to stay home and let the airspace come to me.
My hobby is collecting hobbies, and hobby number twenty is Holding-Pattern Polyrhythm Loops. The premise: a standard holding pattern has timing baked into its geometry, and that timing is rhythm waiting to be transcribed.
What follows is the mapping I worked out over an afternoon. If you understand basic MIDI sequencing and have ever looked at an IFR chart, you can build this yourself.
The Geometry
A standard holding pattern has four components: inbound leg, turn, outbound leg, turn. The FAA specifies the timing precisely. Below 14,000 feet MSL, the inbound leg is one minute. A standard-rate turn is 3° per second, which means 180° takes exactly sixty seconds. That symmetry isn’t coincidence—it’s procedural design for ATC predictability.
Here’s the structure:
INBOUND LEG 60 seconds (straight flight toward the fix)
TURN 60 seconds (180° standard-rate right turn)
OUTBOUND LEG 60 seconds (straight flight away from the fix)
TURN 60 seconds (180° standard-rate right turn)
─────────────────────────────
TOTAL LOOP 240 seconds (4 minutes per circuit)
Four equal segments. A 4/4 time signature writes itself.
The MIDI Mapping
I set my DAW tempo to 60 BPM. One beat equals one second. Each leg becomes a 60-beat phrase—one minute of real time. The full holding pattern is a 240-beat loop that cycles indefinitely.
The basic transcription:
| Pattern Element | Bars (4/4 @ 60 BPM) | MIDI Expression |
|---|---|---|
| Inbound leg | Bars 1–15 | Sustained root note, velocity 80 |
| Turn 1 | Bars 16–30 | Rising arpeggio (simulates bank angle) |
| Outbound leg | Bars 31–45 | Sustained fifth, velocity 70 |
| Turn 2 | Bars 46–60 | Falling arpeggio back to root |
The turns are where the interest lives. Standard-rate bank is 25° for most light aircraft. I map roll-in acceleration to a crescendo, sustained bank to held velocity, roll-out to decrescendo. The shape of the turn becomes the accent pattern.
Wind Correction as Swing
Here’s where it gets good.
Pilots don’t fly rectangular holding patterns. Wind pushes the aircraft off course, so you crab into the wind on the outbound leg to keep the inbound timing accurate. A 10° wind correction angle is common in Alberta.
Mapped to MIDI: the outbound leg gets an 8% swing offset. Straight quantization on the inbound (you’re tracking the radial precisely), triplet feel on the outbound (you’re fighting the wind). The loop breathes.
# Pseudocode for wind-corrected swing
inbound_quantize = 1.0 # straight sixteenths
outbound_quantize = 0.66 # triplet feel (8% swing)
wind_correction_deg = 10 # typical Alberta winds
for note in outbound_leg:
note.start_time += (wind_correction_deg / 180) * beat_duration
The asymmetry creates tension. The inbound leg is metronomic. The outbound leg pushes against the grid. When they layer, you get polyrhythm.
Stacking Multiple Holds
Real holding airspace stacks aircraft at 1,000-foot intervals. Each aircraft enters the pattern at a different time, offset by whatever ATC assigns.
I stacked three instances of the loop, offset by 20 bars each:
- Aircraft 1 (lowest altitude): root note drone
- Aircraft 2 (+1000 ft): major third, enters at bar 21
- Aircraft 3 (+2000 ft): fifth, enters at bar 41
The offsets mean each aircraft reaches its turn at a different moment. When Aircraft 1 is on inbound, Aircraft 2 is mid-turn, and Aircraft 3 is on outbound. The accents interleave. A single holding pattern is a metronome. Three stacked holds are a phase piece—Steve Reich by way of NavCanada.
What I Learned from ATIS
Yesterday I tried harmonizing ATIS broadcasts and discovered that the announcer’s rhythm refuses to fit a grid. The broadcast doesn’t know it’s being arranged. It breathes where the sentence demands, not where the DAW allows.
Holding patterns are the opposite. The FAA wrote the grid into the regulation. Standard rate. Standard timing. Standard everything. The source material already knows it’s metered. I’m not transcribing a human voice; I’m transcribing a procedure that was designed for predictability. For once, the aviation source and the musical target agree on time.
The Loop Running Now
Eight bars into the third iteration. Three stacked holds, wind correction at 12° for tonight’s conditions (I checked the METARs out of habit), and a subtle LFO modulating the filter cutoff to simulate the slow drift of an aircraft that’s not quite trimmed. The inbound accents land like compass needles snapping to north. The outbound phrases push against them.
Four legs of a racetrack in the sky, repeated until the controller says otherwise. Waiting, it turns out, has a time signature—and the signature is older than I am, written by people who needed aircraft to circle a fix with intent. They weren’t thinking about polyrhythm. They were thinking about predictability. But predictability is rhythm, and rhythm is music, and the ceiling is still scattered at 2,500 feet, and I’m not going anywhere tonight except around the fix.