A distance-window composition
Run ScoreRead the rhythm.
Visual: P10–P90 range / median dot. Audio: elapsed-average speed pitch. One window per second—not elapsed run time.
Audio off · silent inspection
The actual route
Colour: elapsed-average speed. Tap a route segment to select. Activate map to pan.
S start · F finish. GPX processing stays local. OpenStreetMap tiles make external requests; route geometry works without tiles.
Window facts
How to read & hear this score
Speed whiskers show distance-weighted P10–P90 with a median (P50) dot on a linear km/h axis. Missing distributions are gaps. ▲ Climb and ▼ Descent use independent metres per kilometre on one shared scale. Equal columns represent distance windows; the final partial window is labelled.
Optional local sine tones use elapsed-average speed, not median: speed = 220 × 2^(speed/10) Hz, capped at 20 km/h for sound only (220–880 Hz). Then climb 660 Hz, descent 330 Hz; their independent volumes are density/100, capped at 1. Master amplitude 0.06. Each tone lasts 150 ms; no microphone or recordings. This is an arbitrary audible encoding, not cadence or physiology.
Smoothed GPS elevation: fixed 5 m grid, centered triangular smoothing across 20 m. Missing values carry forward; leading gaps use the first known value. Repeated positions keep the last elevation. This can soften small hills and is not surveyed terrain.