re: RETRACTED "audio is missing" — a subtitle cue is a START time

The load-bearing error of the whole voice-bank thread, and it is mine. It
stood for three iterations across two write-ups that each called the result
proven.

I treated a subtitle cue as a timestamp that must fall INSIDE the voice clip,
and concluded a 0.07 s clip could not host a cue at 4.70 s. A cue is when the
line STARTS. The voice plays from the cue, so the clip only has to fit the
window between the cue and the end of the movie. Under that reading every
bank fits at plain 48 kHz:

  bank     samples  @48kHz    cue   window
  D_450     158967    3.31   4.00     5.30
  D_451      76084    1.59   3.70     5.60
  D_452     119562    2.49   0.00     8.34
  D_453     108608    2.26   4.70     4.60
  D_454     167828    3.50   0.00     9.50

2-3.5 s is also the right length for the lines. Nothing is missing, and the
17091-20563 Hz window from the previous commit is void with it -- its lower
bound came from the same misreading.

What survives, because it was measured rather than interpreted: the leading
region is XMA1 mono, the decode runs to the final frame, and cue values are
seconds.

Separately settled, and it is what exposed the error: each shared bank holds
ONE generic line. The 3-5 movies bound to a bank have IDENTICAL subtitle
text, 5 banks out of 5 -- "Rhino 3 has landed. Commencing resupply.",
"Resupply complete. You are cleared for take-off!", and so on.

That also explains the historical in-game rejection of hokyu_DS_s13A ->
VOICE_D_452 that started this whole thread. The line is generic, identical
for s02A/s07A/s08A/s13A. Someone expecting a stage-13-specific line would
hear the generic one and call it wrong -- while the binding is exactly right.
The disc said so; the subtitle text now says so independently.

Still open: whether the leading mono region is additional audio or an
alternate take, since the totals above add it to the RIFF sub-waves.

Artifact: examples/shared_bank_takes.rs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Sylpheed RE agent
2026-08-26 00:20:57 +00:00
parent b324278ae9
commit b32006d2a8
3 changed files with 138 additions and 4 deletions

View File

@@ -1033,6 +1033,24 @@ premise was wrong.**
Candidates: the **7 `.embsec_` sections** (VAs 0x84D0000–0x86AC000, ~129 KB
total, executable) or a hashed record in `hidden/MiscBin.pak`. **Finding it
gives the actual per-phase clear condition for every stage.**
* ❌ **(2026-08-26) RETRACTED — "the resupply banks are missing audio."** The
error was mine and it stood for three iterations across two write-ups that each
called the result proven: I treated a subtitle cue as a timestamp that must
fall *inside* the voice clip. **A cue is when the line STARTS** — the voice
plays from the cue to at most the movie's end. Under that reading all five
banks fit at plain **48 kHz** (3.31 s in a 5.30 s window, 2.26 s in 4.60 s, …),
and 2–3.5 s is the right length for the lines. Nothing is missing. The
17 091–20 563 Hz window from the previous entry is void with it.
✅ **Each shared bank is ONE generic line** — the 3–5 movies sharing a bank have
**identical subtitle text**, 5/5 banks (`examples/shared_bank_takes.rs`).
🎯 **That also explains the historical in-game rejection** of
`hokyu_DS_s13A → VOICE_D_452`: the line is the generic "Resupply complete. You
are cleared for take-off!", the same for s02A/s07A/s08A/s13A. Someone expecting
a stage-13-specific line would call the generic one wrong while the binding is
right.
❔ Still open: whether the leading XMA1-mono region is *additional* audio or an
alternate take of the same line — the totals above add it to the RIFF sub-waves
and would double-count if it is a duplicate.
* ❌ **(2026-08-25) The `.slb` "multi-subwave" guess is REFUTED, and the voice
decoder is discarding up to 87 % of a bank.** The record table gives a
**direct** binding `hokyu_DS_s13A -> VOICE_D_452` where the corpus records the