re: the voice decoder discards up to 87% of a bank — "multi-subwave" refuted
The record table gives a DIRECT binding hokyu_DS_s13A -> VOICE_D_452, where the corpus records the movie as unbound and movie_manifest_disc.rs asserts None, citing an in-game verdict that this exact value was "the wrong recording". That is the only place on the disc where a runtime observation disagrees with the record table, so it was worth settling. First, shape: these banks are SHARED. Five slots bind VOICE_D_452, five bind 451, four 450, four 453, three 454 -- 21 hokyu slots over five banks, and the movies repeat too. Generic resupply cutscenes, not per-stage recordings. The recorded explanation for 453 decoding to 0.14 s and 454 to 0.43 s was that the banks are "likely multi-subwave / not cleanly sliced". Refuted: the count of RIFF magics EQUALS the number of sub-waves recovered in all five banks, and the last data chunk ends exactly at EOF in four of them. Nothing between or after sub-waves is being missed. The real defect: slb::to_xma_riffs finds audio by searching for the RIFF magic, and a large region PRECEDES it. 87% of VOICE_D_453 and 85% of VOICE_D_454 sit in front of the first RIFF -- 21-27% zero over 256 distinct byte values, i.e. content, not padding. VOICE_D_451 is the control: its leading region is 100% zero, 1 distinct value, real padding. So the in-game verdict listened to a decode that had discarded most of the bank, for exactly this bank class. It is evidence about the decoder, not about the mapping. Note also that what was rejected was a value INFERRED from a shared demo id; the record table supplies the same value as a stored field, and only the inference was ever tested. This does NOT establish the binding is right -- it removes the only recorded evidence against it. What the leading region actually holds is undecoded, and confirming the binding needs a human listening. Artifact: examples/voice_bank_shape.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:
@@ -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-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
|
||||
movie as unbound and a test asserts `None`, citing an in-game verdict that the
|
||||
same value was "the wrong recording". Measured: the RIFF-magic count equals the
|
||||
sub-wave count in all five hokyu banks, so nothing between or after sub-waves
|
||||
is missed — the recorded "likely multi-subwave / not cleanly sliced" is wrong.
|
||||
The audio is lost because a **large region precedes the first RIFF** and
|
||||
`slb::to_xma_riffs` finds audio by searching for that magic: **87 % of
|
||||
`VOICE_D_453` and 85 % of `VOICE_D_454`** sit in front of it, 21–27 % zero over
|
||||
256 distinct byte values — content, not padding. `VOICE_D_451` is the control,
|
||||
its leading region being 100 % zero / 1 distinct value. 🟡 So the in-game
|
||||
verdict tested a decode that had thrown away most of the bank and is **not**
|
||||
evidence against the binding — though it does not confirm it either.
|
||||
▶️ First step: decode the leading region (it is not padding and not a RIFF —
|
||||
directory? seek table? raw stream?). Then a human has to listen; audio
|
||||
judgement cannot be done in this container. See
|
||||
[`voice-bank-leading-region.md`](voice-bank-leading-region.md).
|
||||
* ❌ **(2026-08-25) My own boot-nav diagnosis, MEASURED AND WITHDRAWN.** I said
|
||||
the run died because `skip_intro.sh` gates the title test at `rmse <= 1500`
|
||||
and the run logged 1503/1549, just above the cut. Measured over a clean
|
||||
|
||||
Reference in New Issue
Block a user