diff --git a/docs/re/audio-capture-alsa-file-tee.md b/docs/re/audio-capture-alsa-file-tee.md index 7a0d0355..b120fc16 100644 --- a/docs/re/audio-capture-alsa-file-tee.md +++ b/docs/re/audio-capture-alsa-file-tee.md @@ -186,10 +186,36 @@ means even the 0.70×-real-time rendered capture (9.98 % padded) is usable for correlation, where none of the PulseAudio-monitor captures ever were, however they were tuned. -⚠️ **Unverified as of writing** — the port is controlling it before relying on -it, by padding a known source to match and checking the stripped result -correlates back. The mechanism says it should; the control is what will settle -it. +✅ **VERIFIED 2026-08-29.** The port controlled it rather than relying on the +reasoning: a real music+SFX bed (137.37 s, carrying **454 genuine zero runs of +its own**, which is what makes it an honest control) had **1 149 holes inserted +at 8.37 gaps/s to +9.9 % length** — matching the measured ALSA profile — then +stripped: + +| | r | lag | margin | +|---|---|---|---| +| original vs itself (ceiling) | 1.000 | 0.0 s | +0.141 | +| **padded** vs original | **0.436** | −12.2 s | **+0.006** | +| **stripped** vs original | **1.000** | **0.0 s** | **+0.142** | + +Two things beyond the yes: + +* ✅ **It runs the inference forwards.** Padding at this profile puts correlation + squarely in the known-absent regime (margin +0.006) on a file whose contents + are controlled — so the earlier captures were unusable *for the reason claimed* + rather than for some other one. Until now that was reasoning backwards from a + failure to a cause. +* ✅ **Only ONE side needs stripping.** The stripped capture matches the + **unstripped** source at the ceiling, so a capture needs no preprocessing at + all before being handed over — no shared step for two parties to get out of + sync on. + +🔴 **And the danger, which is the part to repeat:** stripping removes *genuine* +silence too and cannot tell the two apart. It is **exact on additive ALSA +padding and vandalism on a PulseAudio monitor capture**, where the silence +replaced real audio. On mostly-silent material the genuine runs would cost +something measurable — here they totalled 0.71 s in 137 s and cost nothing. +⚠️ **Running it on the wrong artefact would look like it worked.** ⚠️ **Consequence for `check-capture`:** its silence/gap-rate rule was built when only *damage* existed, and **cannot distinguish genuine emulator padding from