port: voice export carries every qualifying stream; a unity sum was refused by check
#4 answered: ADV.wmv carries ONE audio stream and it is WMA Pro 5.1, not XMA, so the movie's own track is the bed and the three streams are additional. Solving capture = 0.600 x movie + residual gives three residual signals at three positions, with LFE reproducing to -115.73 dBFS -- where nothing is added the decoders agree exactly, so the rest is added content. presentation: all keeps every equal-length non-silent survivor -- ADV 2 of 3, S00A 1 of 3 -- and the warning now keys on kept < present rather than on more than one existing. A unity sum was tried first and check refused it at +2.62 dBFS. The BGM stems precedent did not transfer: those are stems of one signal, these are positions in a field whose downmix weights sum to one whatever the assignment. Dividing by the count preserves the total and claims nothing about placement; ADV lands at -3.1. That is the OPPOSITE of the two divisor bugs already in this file, where a silent input sat in the divisor. Divide-by-N is not right or wrong in itself. Also carries their census correction: the ALSA permutation does not apply, the map is the identity, and the '82% silent' channel was LFE. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -9,7 +9,7 @@ dies, which is what this file is for.
|
||||
|
||||
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
|
||||
|
||||
125 sections. Search this before re-deriving anything.
|
||||
126 sections. Search this before re-deriving anything.
|
||||
|
||||
* [P0 — the exporter, 2026-08-28](#p0--the-exporter-2026-08-28)
|
||||
* [P1 — Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28)
|
||||
@@ -136,6 +136,7 @@ dies, which is what this file is for.
|
||||
* [A static overlay now advances, and a refutation attempt on the pulse floor](#a-static-overlay-now-advances-and-a-refutation-attempt-on-the-pulse-floor)
|
||||
* [Their pulse floor reproduces exactly once the predicate is named — 159, to the pixel](#their-pulse-floor-reproduces-exactly-once-the-predicate-is-named--159-to-the-pixel)
|
||||
* [My rendered pulse, counted in their units — and #4 refutes the voice value without fixing it](#my-rendered-pulse-counted-in-their-units--and-4-refutes-the-voice-value-without-fixing-it)
|
||||
* [The voice export now carries every qualifying stream — and a unity sum was refused by our own check](#the-voice-export-now-carries-every-qualifying-stream--and-a-unity-sum-was-refused-by-our-own-check)
|
||||
|
||||
<!-- /INDEX -->
|
||||
## P0 — the exporter, 2026-08-28
|
||||
@@ -7337,3 +7338,56 @@ nothing about *which* stream lands where, so it does not make summing right; and
|
||||
`kFrameChannelsDefault`. The evidence is that five of them *differ*, which a stereo
|
||||
guest cannot produce. The number of channels in a capture is a property of the
|
||||
capture.
|
||||
|
||||
## The voice export now carries every qualifying stream — and a unity sum was refused by our own check
|
||||
|
||||
#4 is answered and it reframes the question the port had been asking. **`ADV.wmv`
|
||||
carries one audio stream and it is WMA Pro 5.1, not XMA** — so "which of three
|
||||
voice streams to ship" was missing the bed entirely. The movie's own track is the
|
||||
bed; the three streams are *additional*.
|
||||
|
||||
Solving `capture = 0.600 × movie + residual` per channel, the gain is 0.600
|
||||
uniformly (−4.44 dB), and the residual is **three signals at three positions** —
|
||||
front pair (r 0.918), rear pair (r 0.929), and a centre whose partner LFE is empty
|
||||
to −115 dB. 🔴 The load-bearing number is **LFE reproducing to −115.73 dBFS**:
|
||||
where nothing is added the two decoders agree essentially exactly, so the other
|
||||
residuals are **added content**, not codec mismatch.
|
||||
|
||||
`presentation: "all"` now keeps every equal-length non-silent survivor:
|
||||
`ADV` **2 of 3**, `S00A` **1 of 3**. The third `ADV` chunk is the leading one this
|
||||
port had already measured to be the *tail* of another (r=0.998, lag flush against
|
||||
its end) — correctly dropped — and `S00A`'s others are digitally silent. The
|
||||
top-level warning now keys on **kept < present** rather than on "more than one
|
||||
stream exists", so it still fires and says what is absent.
|
||||
|
||||
### 🔴 A unity sum was tried and `check` refused it
|
||||
|
||||
First attempt summed at unity, on the precedent of `stems: "sum"` for a BGM bank.
|
||||
`ADV` came out at **+2.62 dBFS**, over the +1.0 bound, and the validator rejected
|
||||
the tree.
|
||||
|
||||
It was right, and the precedent did not transfer. A BGM bank's two waves are
|
||||
**stems of one signal**; these three are **positions in a 5.1 field**. A stereo
|
||||
downmix weights them 0.4142, 0.2929 and 0.2929 — which **sum to one whatever the
|
||||
assignment**. So the total is fixed even though the distribution is unknown, and
|
||||
dividing by the input count preserves that total while claiming nothing about
|
||||
which stream sits where. `ADV` now lands at **−3.1 dBFS**.
|
||||
|
||||
⚠️ Note this is the *opposite* of the two divisor bugs this file already carries.
|
||||
Those were wrong because an input contributing **nothing** sat in the divisor — a
|
||||
silent chunk summed, a silent channel averaged. Here every input carries signal
|
||||
and the weights genuinely sum to one. "Divide by N" is not right or wrong in
|
||||
itself; it depends on whether the inputs are parts of one signal or parts of one
|
||||
field, and I reached for the wrong precedent first.
|
||||
|
||||
### What is still not claimed
|
||||
|
||||
⚠️ **Which stream sits at which position is not determined** — their assignment is
|
||||
by position, not content — so the port builds no 5.1 and applies no positional
|
||||
downmix. ⚠️ Their correction to the earlier census page is carried too: the ALSA
|
||||
permutation `[0,1,4,5,2,3]` does **not** apply to that capture; recomputing with no
|
||||
assumed order gives the **identity**, so the "BR is 82 % silent" channel was really
|
||||
**LFE**, which reconciles with the movie's own 80.64 % silent LFE. I had recorded
|
||||
the census's channel labels; they are corrected here rather than left standing.
|
||||
|
||||
Every asserting check passes.
|
||||
|
||||
Reference in New Issue
Block a user