re(media): the disc ships movies in TWO audio profiles, and 28 of them are 5.1

Probed all 97 movies. 28 are wmapro 48 kHz 6-channel 5.1 -- ADV.wmv and every
S*.wmv story cutscene; the other 69 are wmav2 48 kHz stereo, every RT*.wmv and
hokyu_*.wmv. The split is cinematics vs in-mission radio chatter.

Both movies the menu milestone needs, ADV.wmv (the boot/attract intro) and
S00A.wmv (the new-game intro), are in the SURROUND group.

Why it matters: one ffmpeg command over dat/movie/ produces two different kinds
of result and records neither. The 69 stereo files pass through unchanged; the 28
surround files get downmixed 5.1 -> stereo by ffmpeg's DEFAULT matrix, folding
centre-channel dialogue into L/R at a weighting nobody chose and which is not
stable across ffmpeg versions. That is a content decision inherited by accident,
so it should be stated explicitly and recorded beside the command.

Credit where due: found by the human while checking a transcode, verified
independently here and widened from one file to the whole disc.

Two METHOD entries from the same episode, both about measurement rather than
format: don't probe a file another process is still writing (a half-written
transcode reported 33 s against a 137 s source, no error, nearly a filed bug),
and a difference-signal RMS is meaningless before cross-correlation alignment
(-34.2 dB against a -25.3 dB source looks like failure and is inconclusive).
This commit is contained in:
Sylpheed RE agent
2026-08-29 08:57:56 +00:00
parent 7eeae3006a
commit 3491d30066
3 changed files with 160 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
# ✅ The disc ships movies in **two** audio profiles — and one of them is 5.1
**Status:**`DECODED`, disc-wide (97 of 97 movies probed). Found while checking
a transcode, not while looking for it.
## The split
```
$ ffprobe -select_streams a -show_entries stream=codec_name,sample_rate,channels,channel_layout
```
| profile | count | codec | rate | channels | which |
|---|---|---|---|---|---|
| **surround** | **28** | `wmapro` | 48 kHz | **6 (5.1)** | `ADV.wmv` + every `S*.wmv` story cutscene |
| stereo | 69 | `wmav2` | 48 kHz | 2 | every `RT*.wmv` and `hokyu_*.wmv` |
Full list in [`data/movie-audio-layouts.csv`](../data/movie-audio-layouts.csv).
The split is not arbitrary: the **cinematics** are 5.1 and the **in-mission radio
chatter** is stereo. `ADV.wmv` (137.714 s) and `S00A.wmv` — the boot/attract intro
and the new-game intro, i.e. **both movies the menu milestone needs** — are in the
surround group.
## ⚠️ Why this matters to anything that transcodes
A single `ffmpeg` command over `dat/movie/` produces **two different kinds of
result** and records neither:
* the 69 stereo files pass through channel-wise unchanged;
* the 28 surround files are **downmixed 5.1 → stereo by ffmpeg's default matrix**,
folding centre-channel dialogue into L/R at a weighting nobody chose.
That default is a *content* decision — it sets how loud the dialogue is against
the music — and it is **not stable across ffmpeg versions**. A pipeline that wants
a reproducible result has to state the downmix explicitly rather than inherit it,
and record it beside the command.
🟡 Whether the game itself plays these in surround, and with what downmix when the
console is set to stereo, is **not established here**. This page is about what is
on the disc.
## How it was found, and the trap next to it
Checking a transcode against its source, `ffprobe` reported the output as 33 s
against the source's 137 s — which reads as catastrophic truncation and is not:
the file was **being written at that moment**. Measuring a live write produces a
confident wrong answer with no error. See [`../METHOD.md`](../METHOD.md).