# What the game actually emits over the boot intro — five live channels, not a stereo mix **Classification: measured.** Xenia Canary, 2026-08-30, one boot, no input. Groundwork for the port's ask #4 — **it does not settle #4**, and the part it does not settle is named at the bottom. ## Why this capture exists The port ships one of `ADV`'s three concurrent voice streams and its `authored/audio.json` records that as **known wrong, held deliberately** ([`voice-three-streams-are-concurrent.md`](voice-three-streams-are-concurrent.md)). Neither "take one" nor "sum them" is established. The only thing that can settle it is what the game emits, so: record it. ## The capture Recipe followed exactly from [`audio-capture-alsa-file-tee.md`](../audio-capture-alsa-file-tee.md) — ALSA `file` tee in front of a **paced** pulse slave, `--gpu=null`, both mutes off: ``` run-canary --apu=alsa --mute=false --gpu=null --xma_param_probe=true ``` **148.02 s, 6 channels, float32, 48 kHz.** ✅ **Provenance is the XMA probe, not a screenshot** — which is the right evidence for an audio question, because it witnesses the thing being recorded. The log carries `ADV`'s three contexts **byte-exact** against the disc: | ctx | packets | `byte_size` | |---|---|---| | 0 | 632 | 1 294 336 | | 1 | 546 | 1 118 208 | | 2 | 572 | 1 171 456 | then two more — 1 150 976 / 1 269 760 — which are the documented `BGM_102` pair. So the movie's voice decoded exactly as in the runs this corpus already records. ✅ **Capture quality: 0.15–0.16 % silence** on the five live channels, against the **0.31 %** the recipe page records for its own clean run. Cleaner than the reference. ## What is in the six channels ⚠️ ALSA's channel order, not WAV's: captured *i* holds source `[0,1,4,5,2,3]`, so the labels below are `FL FR BL BR FC LFE`. Deterministic and invertible. | ch | | peak dBFS | rms dBFS | % silent | |---|---|---|---|---| | 0 | FL | −3.65 | −22.26 | 0.16 | | 1 | FR | −2.22 | −20.89 | 0.15 | | 2 | BL | −4.41 | −24.77 | 0.15 | | **3** | **BR** | **−11.65** | **−36.06** | **82.18** | | 4 | FC | −4.57 | −24.81 | 0.16 | | 5 | LFE | −4.66 | −24.38 | 0.16 | **Five channels carry real, distinct content; one (BR) is 82 % silent and 11–15 dB down.** No channel is a copy of another — the largest pairwise correlation is 0.70 (FL/FR, which is what a stereo pair looks like), then 0.52 and 0.56. ### 🔴 What this already rules out * **Not a stereo mix.** Five independent channels are being emitted. * **So "ship one stream" cannot be right**, which the corpus already suspected but had not observed from the output side. The port's held-wrong value stays wrong. ⚠️ **It does not follow that summing is right.** This says the *output* is multichannel; it says nothing yet about which disc stream lands where. ⚠️ **And do not read the 6 channels as proof the game is 5.1.** `CONTAINER-NOTES` records that `AudioDriver::kFrameChannelsDefault = 6` is a hardcoded Xenia constant — the *format* is Xenia's, only the *content* is the guest's. What is evidence here is that five of those six differ from each other, which a stereo guest cannot produce. ## 🟡 What is NOT settled — the stream → channel mapping The decisive step is a cross-correlation of each captured channel against each of `ADV`'s three decoded streams. **That has not been run.** Until it is: * which stream feeds which channel pair is unknown; * whether `FC` carries the dialogue is **consistent with** the corpus's [centre-channel finding](../structures/voice-centre-channel.md) but not re-established here; * why `BR` is near-silent is unknown — a genuinely unused channel, a stream that ends early, or a decode that failed are all open. ⚠️ **One boot, one movie.** And `--gpu=null` means no video, so nothing here is cross-checked against what was on screen. The raw capture is 170 MB and is **not committed**; it went over `share` to the port as `1788077587-9f2e30af1c98-capture.raw`. Per-channel numbers: [`../data/intro-audio-channel-census.txt`](../data/intro-audio-channel-census.txt).