Monorepo for Aesthetic.Computer aesthetic.computer

loner: the labels were on the wrong syllables — re-align every slice through OpenAI, and 'led' turns out to be 'up' master

@jeffrey, watching the study: "hmm ur mistaken, the 'led' is actually the 'up' utterance in the data · you need to fix that alignment too · did you try using whisper to find the original word boundary · if not we should pass the audio to openai for that pls". He was right, and this was the deepest bug in the lane — everything I'd been tuning sat on top of it. The original receipts came from whisper.cpp ggml-small run with `-ml 1`, which returns SUB-WORD TOKENS: it cut "curled" into cur + led, and every label after that slid by a syllable. The span we called `led` is where she sings **up**; `up` + `in` were both the one word **in**; and `stone` started 1.3 s early, inside the held octave of "of a" — which is exactly why the octave kept bleeding into stone's block. A note segmentation of the take agrees with OpenAI and not with the old receipts: the first phrase is seven sung notes — F4 D#4 · C#4 · C4 · A#3 · D#4 · C4 — for seven syllables, sit·ting curled up in my·self. There is no "led" note; it was the tail of "curled" plus the breath before "up". (The 420 ms of dead air the trim keeps cutting is now correctly logged against `up`.) bin/align.py re-aligns each slice through OpenAI whisper-1 with word timestamps, primed with the lyric so the short clips aren't misheard (f-sitting-curled came back as "in my cell phone" without it), and repairs whisper-1's occasional zero-width word by finding that word's real onset in the audio (it emitted the whole line's `just` as 12.38–12.38; the repair puts it at 11.12, where the note segmentation says it is). Anything it can't align cleanly stays on the old receipt and says so — two n- slices do. Receipt: samples/.align.json. The key is read from env or vault and never written down. Two things fixed themselves once the labels were right, both of them complaints from earlier today. "up" is C4 and "in" is A#3 — two different notes — so bar 2 stopped reading as one fused tonic. And "a" is G#4, not A#4, so it is no longer the same pitch as "of": the octave now steps A#4 → G#4 → D#4 across "of a stone" instead of holding one unbroken note through all three blocks. Verified in the render: curled holds C#4 through bar 1, up enters C4 at 8.07, in enters A#3 at 9.54. The chart re-indexes accordingly (curled is one word, so splits moves 5 → 4) and the bar map is now one word per bar: sitting 0 · curled 1 · up in 2 · my self i 3 · think on the bar-4 downbeat · of 4 · a stone 4, so nothing downstream of "think" moved.