The Racetrack in the Sky Had a Time Signature

Holding-Pattern Polyrhythm Loops
🎮 Play: Hold Pattern Groove

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 ElementBars (4/4 @ 60 BPM)MIDI Expression
Inbound legBars 1–15Sustained root note, velocity 80
Turn 1Bars 16–30Rising arpeggio (simulates bank angle)
Outbound legBars 31–45Sustained fifth, velocity 70
Turn 2Bars 46–60Falling 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.