# OPAL 2026 — measured BPM arc (task #12 input)

**Date:** 2026-07-25 · **Method:** read `setcps` out of each setlist track's `.tidal` and
compare against the BPM annotations in `backlog.md` § OPAL 2026. Measured, not assumed —
the backlog markers turned out to be wrong on three tracks.

## Backlog vs. reality

| # | Track | backlog | **measured `setcps`** | |
|---|---|---|---|---|
| 1 | Ceci n'est pas Une Bombe | 124 | **124** | ✓ |
| 2 | WAP | 133 | **133** | ✓ |
| 3 | Am i Doing it Right? | 89 | **89** | ✓ |
| 4 | Take Five Drops | 124 | **124** | ✓ |
| 5 | Piment Brésilien | 124 | **124** | ✓ |
| 6 | Perfect <3 | 128 | **128** | ✓ |
| 7 | Gimme Acid | 160 | **80** | ⚠︎ half-time notation |
| 8 | Vague de CRIME | 120 | **120** | ✓ |
| 9 | Mafia | 160 | **160** | ✓ |
| 10 | Sunshine | 166 | **144** | ❌ **22 BPM out** |
| 11 | Desire (FINALE) | 129 | **127** | ❌ 2 BPM out |
| 12 | Revolution (encore) | — | **114** | — |
| — | Electric Hammer (floated closer) | — | **130** | — |

### The three that don't match

**Gimme Acid — 80 measured vs 160 written.** Almost certainly not a bug: this is the standard
dnb half-time convention (80 written = 160 felt, the kick pattern does the doubling). Worth
confirming, because it matters for the arc: if it *feels* like 160 it belongs next to Mafia,
if it *is* 80 it's the slowest thing in the set after Do It Right.

**Sunshine — 144 measured vs 166 written.** This is the one to actually check. 22 BPM is far
too big to be a rounding note, and it changes the shape of the set's peak: the backlog plans
Mafia (160) → Sunshine (166) as a rising finish, but measured it's Mafia (160) → Sunshine
(144), which is a 16 BPM *drop*. Either the file drifted from the intent, or the backlog
number is aspirational.

**Desire — 127 vs 129.** Trivial, but it's the FINALE, so worth making the file and the plan
agree.

## The measured arc

Setlist order as written, measured tempi:

```
124  Bombe          ▓▓▓▓▓▓▓▓▓▓▓▓
133  WAP            ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
 89  Doing it Right ▓▓▓▓▓                 ← -44 cliff
124  Take Five      ▓▓▓▓▓▓▓▓▓▓▓▓          ← +35 climb
124  Piment         ▓▓▓▓▓▓▓▓▓▓▓▓
128  Perfect        ▓▓▓▓▓▓▓▓▓▓▓▓▓
 80  Gimme Acid     ▓▓▓▓                  ← -48 cliff (or 160 felt: +32)
120  Vague de CRIME ▓▓▓▓▓▓▓▓▓▓▓
160  Mafia          ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   ← +40 climb
144  Sunshine       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓      ← -16 (backlog expected +6)
127  Desire FINALE  ▓▓▓▓▓▓▓▓▓▓▓▓▓
114  Revolution     ▓▓▓▓▓▓▓▓▓▓▓
```

**Observations, offered as input not verdict** — set order is a musical call and this is only
the tempo dimension:

- **Three cliffs over 40 BPM**: →89 (Doing it Right), →80 (Gimme Acid), →160 (Mafia). The
  89 and 80 ones are *deliberate-looking* — a slow track between fast ones is a valid
  dramatic move, and both are marked light/odd in the backlog. They're only a problem if the
  transition is unprepared, which is exactly what risers (#33) and default-xfade (#13) address.
- **The Mafia → Sunshine → Desire tail** is the part where measurement disagrees with the
  plan. As written the set peaks at Mafia and then descends 160 → 144 → 127 → 114. That's a
  coherent *comedown* finish, but the backlog's `[166]` for Sunshine suggests you intended to
  keep climbing to the peak instead. Worth deciding deliberately rather than inheriting.
- **The 124 plateau** (Take Five → Piment → Perfect, 124/124/128) is the most transition-safe
  stretch in the set — near-identical tempi mean crossfades will simply work. Good place to
  put anything you're less sure of.

## What this needs from PLN

1. Confirm Gimme Acid's 80 is half-time notation (changes where it sits in the arc).
2. **Decide Sunshine: 144 or 166?** Fix the file or fix the backlog — right now they disagree
   by 22 BPM and the shape of your finish depends on which is right.
3. Desire: align the file (127) and backlog (129).
4. Then the ordering call itself, which is ears, not data.

Related: `docs/2026-07-25-riser-audit.md` (#33) — the transitions across those three cliffs
are exactly where a riser earns its keep.
