Commit c7751920 by PLN (Algolia)

docs(opal26): the record clears by ear — release signoff recorded

PLN on the rebuilt seams: "listened to 13... perfect end for crime. revolution
starts good. listened to 99... all good perfect ending!"

That listen is the one that counted, and it is worth saying why: both clips were
audio BUILT FROM his approvals rather than audio he had approved. The 2s rest and
the MORE reverb tail existed only as instructions until this pass — a chain of
individually-approved edits can still add up to an ending nobody has heard.

Recorded in three places, each for a different reader:
  - `release_signoff` in the ear-boundary file — machine-checkable provenance,
    pinned to segments_v4 as rendered today. Any later re-render invalidates it;
    the note says so, so a future uploader can refuse rather than guess.
  - performance_notes.md — the ear-feedback corpus, per the archivist rule.
  - TASKS_DUMP.md — A1 closed, the last gate marked CLEARED.

Two taste calls banked for future sets:

SILENCE IS A MUSICAL ELEMENT, AND IT BELONGS TO THE OUTGOING TRACK. His fix for
the CRIME->REVOLUTION seam was not a longer fade or a different cut point — the
cut was already approved. It was "add after seam 2s silence in crime file". He
wanted the last official track to end on its OWN silence and the encore to start
clean. Future set-ending seams should offer a rest as a candidate, not only
fades.

HE REVISED THE REVERB AFTER LIVING WITH IT. Auditioned in isolation: "pick
subtle". Heard as the record's ending: "allez lets use the B version, the more
option" — roughly 2.7x the ring (650ms top tap vs 240ms). An effect judged on a
bare clip and the same effect judged as an ending are different judgements, so
render the A/B IN PLACE next time.

Both were a second listen changing the answer, which is the whole argument for
keeping the audition loop cheap: neither correction cost more than a re-render.
parent 57745a7c
...@@ -25,7 +25,7 @@ North star: get "Sunset Forest" (opal-festival-2026, 2026-08-08) released. 14 tr ...@@ -25,7 +25,7 @@ North star: get "Sunset Forest" (opal-festival-2026, 2026-08-08) released. 14 tr
**#14 Desire is cut**, PLN confirmed 2026-08-16; #13 Vague de CRIME becomes the last official **#14 Desire is cut**, PLN confirmed 2026-08-16; #13 Vague de CRIME becomes the last official
track, #15 REVOLUTION stays the Encore. track, #15 REVOLUTION stays the Encore.
### A1 · #177 — Re-cut v4 from ear-verified boundaries 🔴 IN PROGRESS · blocks everything below ### A1 · #177 — Re-cut v4 from ear-verified boundaries ✅ **DONE — SIGNED OFF BY EAR 2026-08-16**
Ground truth: `armada/tide-table/judge_specs/opal26_boundaries_ear.json`**do not overwrite Ground truth: `armada/tide-table/judge_specs/opal26_boundaries_ear.json`**do not overwrite
from a detector.** Nine boundaries verified by ear (#3 893.0 · #4 1118.4 · #5 1549.4 · from a detector.** Nine boundaries verified by ear (#3 893.0 · #4 1118.4 · #5 1549.4 ·
...@@ -36,27 +36,38 @@ from a detector.** Nine boundaries verified by ear (#3 893.0 · #4 1118.4 · #5 ...@@ -36,27 +36,38 @@ from a detector.** Nine boundaries verified by ear (#3 893.0 · #4 1118.4 · #5
- [x] **A1.1 #1 head trim recorded**`start: 1.45` in the ear-boundary file, with the - [x] **A1.1 #1 head trim recorded**`start: 1.45` in the ear-boundary file, with the
sample-exact measurement stored alongside for audit (`d3dbe59`). Kept as *data*, not sample-exact measurement stored alongside for audit (`d3dbe59`). Kept as *data*, not
baked into the rendered flac, because A1.4 regenerates the tracks from this file. baked into the rendered flac, because A1.4 regenerates the tracks from this file.
- [ ] **A1.2 Settle #11, #12** — machine proposals now live in a `candidates` block in the - [x] **A1.2 Settle #11, #12** — done in the boundary lab. #11 `takeover` 3557.33 (machine
ear-boundary file, structurally separate from `verified`. Audition **`takeover` first**: +0.13 s); #12 `mid`, then moved **1.66 s later** to 3681.76 when heard as a seam rather
it landed within 0.7 s on both boundaries that also have ear answers (#8, #10) — n=2 and than as a cut. Two adjacent cuts, opposite verdicts on the same estimator — **there is no
on the easy cases, so it earns first listen, not trust. universal fraction**; offer candidates, never average.
- [ ] **A1.3 Settle #13, #15** — 🚨 **ear-only, no candidates will ever come from the timbral lens** (see B1). - [x] **A1.3 Settle #13, #15** — ear-only as predicted, no candidate was ever possible.
#13 3887.25 · #15 4547.57 · END of #13 at 4166.30 (he stops on the sound's decay,
13.7 s before the nominal bar end).
- [x] **A1.4 DONE**`apply_boundaries.py``segments_v4.json``render_release.py` - [x] **A1.4 DONE**`apply_boundaries.py``segments_v4.json``render_release.py`
(split · verify · continuous). 14 tracks × streaming+club, durations exact, 48 kHz/24-bit. (split · verify · continuous). 14 tracks × streaming+club, durations exact, 48 kHz/24-bit.
Continuous mixes re-rendered drop-free. Continuous mixes re-rendered drop-free.
- [x] **A1.5 Seam pass** — release check at `bounds.html?set=<gig>-release`; PLN's five fixes - [x] **A1.5 Seam pass** — release check at `bounds.html?set=<gig>-release`; PLN's five fixes
applied as `edits` (trims/fades), each verified by gain-ratio against the unfiltered master. applied as `edits` (trims/fades), each verified by gain-ratio against the unfiltered master.
- [x] **A1.6 Close reverb** — A/B rendered (dry/subtle/more), PLN picked **subtle**. Applied - [x] **A1.6 Close reverb** — A/B rendered (dry/subtle/more). PLN picked **subtle** from the
as `reverb_tail_s: 5.0` + `reverb_preset: subtle`. Record now ends on a decay to −85 dB isolated clip, then **revised to `more`** hearing it as the record's ending (`271e07c`).
with **zero** trailing silence. An effect judged on a clip ≠ the same effect judged as an ending — render the A/B
- [ ] **A1.7 PLN CONFIRM (5 min)** — re-listen to **seam 13** and the **close** at *in place* next time. Ships as `reverb_tail_s: 5.0` + `reverb_preset: more` (650 ms top
`bounds.html?set=opal-festival-2026-release`. Both are audio built *from* his approvals, tap), ending on a decay with **zero** trailing silence.
not audio he approved: seam 13 now carries the 1 s duck + 2 s drum fade, the close carries - [x] **A1.7 PLN CONFIRM ✅** — 2026-08-16, on the rendered files: *"listened to 13... perfect
the reverb. **This is the last gate before upload.** end for crime. revolution starts good. listened to 99... all good perfect ending!"*
Recorded as `release_signoff` in the ear-boundary file and in `performance_notes.md`.
**RENDERED AND READY** (2026-08-16): 14 tracks × streaming + club, durations exact, 48 kHz/24-bit; Also produced one late call: a **2 s rest** appended inside CRIME (`pad_end_s`, a third
continuous drop-free mixes `*_v4_{streaming,club}_nodrop.flac` at 4358.94 s = 72.6 min. kind of edit — it ADDS time; a rest belongs to the outgoing track so it ships in the
Three gaps = the trims: 1.00 s (silence), 0.04 s (WAP burst), 410.17 s (Desire + CRIME/REV trims). file AND in the mix). **The last gate is now CLEARED.**
**RENDERED, SIGNED OFF, READY TO UPLOAD** (2026-08-16): 14 tracks × streaming + club, durations
exact, 48 kHz/24-bit; continuous drop-free mixes `*_v4_{streaming,club}_nodrop.flac` at
**4361.35 s = 72.7 min**. Three gaps = the trims: 1.00 s (silence), 0.04 s (WAP burst),
410.17 s (Desire + CRIME/REV trims); plus one deliberate 2.00 s rest after #13.
⚠️ **The signoff is against `segments_v4.json` as rendered on 2026-08-16.** Any later re-render
invalidates it: re-run `render_release` + `build_release_joins` and get the ear again before
uploading.
### A2 · #183 — REVOLUTION mix fix · blocked by A1 ### A2 · #183 — REVOLUTION mix fix · blocked by A1
......
...@@ -79,6 +79,18 @@ ...@@ -79,6 +79,18 @@
} }
}, },
"unjudged": [], "unjudged": [],
"release_signoff": {
"date": "2026-08-16",
"by": "PLN",
"method": "by ear, on the RENDERED files via bounds.html?set=opal-festival-2026-release",
"quote": "listened to 13... perfect end for crime. revolution starts good. listened to 99... all good perfect ending!",
"confirms": [
"seam 13 CRIME->REVOLUTION, with the 1s duck to 50% AND the 2.0s rest",
"the close, with the MORE reverb tail (650ms top tap) baked in"
],
"segments": "segments_v4.json",
"why_it_matters": "Both clips were audio BUILT FROM his approvals, not audio he had approved. The rest and the MORE tail existed only as instructions until this listen. Nothing may be uploaded from a render that postdates this signoff without a fresh one — re-run render_release + build_release_joins and get the ear again."
},
"cut_from_release": { "cut_from_release": {
"14": { "14": {
"title": "Desire", "title": "Desire",
......
...@@ -566,3 +566,31 @@ handover, not a parameter. Offer candidates, never average them. ...@@ -566,3 +566,31 @@ handover, not a parameter. Offer candidates, never average them.
after it: the crime sound gaps to −71 dB at 4164.5 and he takes 4166.3, 13.7 s after it: the crime sound gaps to −71 dB at 4164.5 and he takes 4166.3, 13.7 s
before the nominal 4180.0. Preference to note for future ends — he'd rather stop before the nominal 4180.0. Preference to note for future ends — he'd rather stop
on the tail of the sound than let the bar run out. on the tail of the sound than let the bar run out.
## OPAL-26 · release sign-off — 2026-08-16
The record CLEARED by ear. On the rebuilt seams: *"listened to 13... perfect end
for crime. revolution starts good. listened to 99... all good perfect ending!"*
This is the listen that matters, because both clips were audio built FROM his
approvals rather than audio he had approved — the 2 s rest and the MORE reverb
tail existed only as instructions until this pass.
**Two taste calls to carry forward:**
* **Silence is a musical element, and it belongs to the outgoing track.** His
fix for the CRIME→REVOLUTION seam was not a longer fade or a different cut
point — the cut was already approved. It was *"add after seam 2s silence in
crime file, then seam is start of [the] revolution"*. He wanted the last
official track to end **on its own silence** and the encore to start clean.
A future set-ending seam should offer a rest as a candidate, not only fades.
* **He revised the reverb after living with it.** First pass, auditioned A/B in
isolation: *"pick subtle"*. Heard again in the context of the finished
record: *"allez lets use the B version, the more option"* — and the B version
is roughly 2.7× the ring (650 ms top tap vs 240 ms). An effect judged on a
clip and the same effect judged as an ending are different judgements. Render
the A/B **in place** next time, not just as a bare tail.
Both were his second listen changing the answer, which is the argument for
keeping the audition loop cheap: neither correction cost more than a re-render.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment