Monorepo for Aesthetic.Computer aesthetic.computer

loner: waiting splits like sitting, the peak goes on the beat, and a calibration clip for the sync question master

@jeffrey: "can we align wait and ting on the half bar, like we did with sitting · and align the peaks · and lets lose the pick up kick". waiting splits into wait · ing on her own two events (12.70 and 13.70 in the take), two beats each, so "ing" lands on the half bar exactly as "ting" does. Both syllables keep their own note — wait C#4, ing C4. PEAK ON THE BEAT. The warp put each word's voiced ONSET on its slot, which is where the note starts but not where the ear hears the hit: a sung syllable swells, and a word whose peak is 60 ms into the vowel reads late even though its onset is exact. The anticipation now runs to the peak, with everything before it playing 1:1 ahead of the beat. Capped at 90 ms, and the cap is the interesting part. For attack-peaked words it does nothing and the peak lands on the beat — up +5 ms, my +10 ms, self +10 ms, i +10 ms, in +25 ms. For a HELD word the loudest moment is mid-sustain, half a bar in, and aligning that would start the word a bar early; the cap keeps those on onset alignment instead. So "stone" and "of" still show their peak well after the slot, and should. The pickup kick comes off — the /s/ has that beat to itself. Also bin/synccal.py: the audio-versus-picture question needs a measurement I cannot take from here, so it makes one you can read. A dry click on every beat, a circle that flashes on it, and the compensation stepping 0 → 25 → 50 → 75 → 100 → 125 ms three bars at a time with the number printed large. Whichever section locks is SYNC_MS.