# βœ… The boot intro's audio: the movie's own 5.1 bed at 0.600, **plus** three streams in 5.1 **Classification: measured.** Xenia Canary, 2026-08-30, one boot, no input. This settles the port's ask #4 and **confirms** the corpus's leading hypothesis from the output side, where it had been recorded as "not established". ## πŸ”΄ First: `ADV.wmv` is not three XMA streams. It is one WMA Pro 5.1 track. ``` ffprobe /disc/dat/movie/ADV.wmv Stream #0:0(jpn): Audio: wmapro, 48000 Hz, 5.1, fltp, 384 kb/s Stream #0:1(jpn): Video: wmv3, 1280x720, 30 fps ``` One audio stream, **5.1**, decoded by Xenia's WMA path β€” not the XMA path the three probe contexts come from. Any framing of the intro's audio as *only* "which of three voice streams to ship" was missing the bed entirely. ## The decomposition Aligning the [148 s capture](intro-audio-output-census.md) against that track and solving `capture = g Γ— movie + residual` ([`../data/intro-audio-decomposition.txt`](../data/intro-audio-decomposition.txt)): | ch | gain | r | capture rms | residual rms | residual/capture | |---|---|---|---|---|---| | FL | 0.600 | +0.905 | βˆ’21.86 | βˆ’29.28 | βˆ’7.43 dB | | FR | 0.600 | +0.935 | βˆ’20.28 | βˆ’29.29 | βˆ’9.02 dB | | **FC** | 0.597 | +0.146 | βˆ’25.18 | βˆ’25.27 | **βˆ’0.09 dB** | | **LFE** | 0.600 | **+1.000** | βˆ’43.66 | **βˆ’115.73** | **βˆ’72.06 dB** | | BL | 0.600 | +0.956 | βˆ’24.89 | βˆ’35.46 | βˆ’10.58 dB | | BR | 0.600 | +0.964 | βˆ’24.02 | βˆ’35.49 | βˆ’11.47 dB | **The gain is 0.600 on every channel** β€” a uniform βˆ’4.44 dB, which is a mixer setting, not a fit artefact. **LFE is reproduced to βˆ’115.73 dBFS**, 72 dB below the signal: at that residual the two decoders agree essentially exactly, which is what rules out "the leftovers are just codec differences". πŸ”΄ **And `FC` is the exception that carries the answer.** The movie explains **nothing** of the capture's centre channel β€” the residual is the whole signal (βˆ’0.09 dB). The movie's own FC is 91.6 % silent; the capture's is not. ## The residual is three signals, not one | | FL | FR | FC | LFE | BL | BR | |---|---|---|---|---|---|---| | FL | 1.000 | **0.918** | 0.017 | 0.001 | 0.009 | 0.004 | | FR | **0.918** | 1.000 | 0.034 | 0.001 | 0.015 | 0.014 | | FC | 0.017 | 0.034 | 1.000 | 0.000 | 0.385 | 0.378 | | LFE | 0.001 | 0.001 | 0.000 | 1.000 | 0.000 | βˆ’0.000 | | BL | 0.009 | 0.015 | 0.385 | 0.000 | 1.000 | **0.929** | | BR | 0.004 | 0.014 | 0.378 | βˆ’0.000 | **0.929** | 1.000 | Three coherent groups: a **front pair** (0.918), a **rear pair** (0.929), and a **centre** whose partner LFE is empty. The FC residual's 100 ms frame levels span **34 dB** (median βˆ’53.9, p90 βˆ’19.9) β€” bursty, not steady noise. ## βœ… This confirms the 5.1 hypothesis, and predicts the silent channel correctly [`voice-three-streams-are-concurrent.md`](voice-three-streams-are-concurrent.md) recorded "three concurrent stereo streams is six channels" as the obvious reading and marked it **not established**, with a specific piece of supporting detail: that `ADV` stream 2 is **mono-in-stereo**, *"a centre paired with a silent LFE looks exactly like that"*. That is exactly what the residual shows β€” a live centre whose paired channel is empty to βˆ’115 dB. Measured from the output, with no access to the stream contents: | XMA stream | lands in | |---|---| | one | **FL, FR** | | one | **FC**, LFE silent | | one | **BL, BR** | **So both things are true and the port needs both**: the movie's own 5.1 WMA Pro track *and* the three streams mixed over it in 5.1. ## πŸ”΄ Correction to the census page, and to the recipe page's channel order [`intro-audio-output-census.md`](intro-audio-output-census.md) labelled its channels using the permutation `[0,1,4,5,2,3]` that [`audio-capture-alsa-file-tee.md`](../audio-capture-alsa-file-tee.md) records for ALSA. **That permutation does not apply to this capture.** The 6Γ—6 correlation matrix was computed without assuming any order, every row's maximum falls on a distinct movie channel, and the result is the **identity**. So the census's *"BR is 82 % silent"* was really **LFE** β€” which also reconciles it with the movie, whose LFE is 80.64 % silent. ⚠️ The recipe page's permutation was measured on a different chain and is not wrong there; what is wrong is assuming it travels. **Measure the channel order per capture; a 6Γ—6 matrix that comes out a clean permutation is its own control.** ## Reach ⚠️ **One boot, one movie.** `ADV` only. βœ… **The assignment is now determined** β€” see the section below. It was open when this page was first written. ⚠️ `--gpu=null`, so no video cross-check. βœ… The 0.600 gain is measured on this run; whether it is a fixed mix constant or a volume setting is not established. ## βœ… Which stream is which (2026-08-30, later) The three chunks were dumped from the resolved voice region (`examples/adv_voice_dump.rs`) and decoded: [`../data/adv-stream-assignment.txt`](../data/adv-stream-assignment.txt). | chunk | `byte_size` | probe ctx | L rms | R rms | R silent | |---|---|---|---|---|---| | 0 | 806 912 | **ctx0, clipped tail** (full 1 294 336) | βˆ’24.79 | βˆ’24.81 | 53.1 % | | 1 | 1 118 208 | ctx1 | βˆ’20.33 | **βˆ’inf** | **100 %** | | 2 | 1 171 456 | ctx2 | βˆ’30.67 | βˆ’30.68 | 53.6 % | ### πŸ”΄ Two instruments failed first, and both look convincing * **Envelope correlation cannot discriminate *here*.** A per-pair lag search returns **0.86–0.95 for every chunk against every channel**, because all six residual channels share the dialogue's activity timing. A number that high reads as a result; it is the instrument having no resolving power **in this regime**. ⚠️ **Corrected 2026-08-30 β€” do not generalise this.** The port agent controlled the same estimator on a single dialogue track and got **r = 1.0000 at zero offset and βˆ’0.08…+0.08 everywhere else**: it localises sharply. The saturation here is specific to **concurrent streams sharing timing at zero lag**, which a lag search over one track never encounters. This page said it flatly for a day after that correction was known, which is the failure `METHOD.md` calls *a correction that does not reach the artifact*. * **Sample-level correlation returns β‰ˆ 0.** The chunks do not start with the movie and the XMA decode's framing offset is unknown. ### βœ… Level settles it, under the same 0.600 gain | chunk | level | Γ— 0.600 | nearest residuals (error, dB) | |---|---|---|---| | 0L | βˆ’24.79 | βˆ’29.23 | **FL 0.05** Β· FR 0.06 Β· FC 3.96 | | 1L | βˆ’20.33 | βˆ’24.77 | **FC 0.50** Β· FL 4.51 | | 2L | βˆ’30.67 | βˆ’35.11 | **BL 0.35** Β· BR 0.38 Β· FR 5.82 | Each stream lands within **0.5 dB** of exactly one residual pair and misses the others by ~4–6 dB. **The same 0.600 that scales the movie bed also scales the voice** β€” which is itself worth having: it is one mixer gain, not two. βœ… **Ratio test, immune to chunk 0 being clipped:** chunk0 βˆ’ chunk2 = **+5.88 dB** against FL βˆ’ BL = **+6.18 dB**, agreeing to **0.30 dB**; swapped, the ratio would be wrong by **11.76 dB**. βœ… **Structural confirmation.** Chunk 1 is the *only* chunk with a digitally silent channel, and LFE is the *only* output channel with an empty residual (βˆ’115.73 dBFS). One to one. And the internal L/R correlations track: chunk 0 **+0.932** against the FL/FR residual's **+0.918**, chunk 2 **+0.962** against BL/BR's **+0.929**. | stream | β†’ | |---|---| | ctx0 Β· 1 294 336 | **FL, FR** | | ctx1 Β· 1 118 208 | **FC** (LFE silent) | | ctx2 Β· 1 171 456 | **BL, BR** | πŸ”΄ **And the identifier this is indexed by does not resolve against the disc.** The port refused to apply this assignment because the three contexts sum to 3 584 000 B against a resolved region of 3 114 352. It was right to: the **region start is wrong**, by 238 packets for `ADV` and on 8 of 10 multichannel regions disc-wide β€” [`voice-region-starts-late.md`](voice-region-starts-late.md). The assignment above still stands (the ratio test was chosen to be immune to the clipping), but chunk 0's absolute level was measured over 62 % of its stream. ⚠️ **Reach.** Levels, not waveforms β€” this is an argument from three numbers agreeing to 0.5 dB and a 1:1 structural match, not from a matched waveform. One movie, one boot. And chunk 0 is a clipped tail, which is why the ratio test is quoted alongside the absolute match.