Media browser work in progress
Play every sound - and watch every cutscene - on the disc straight from your browser. Pick your .bin Mode2/2352 image once, then flip between three categories: BGM sequenced music (VAB + SEQ), the FMV movies (MV*.STR, decoded and played with synced MDEC video), and the SE sound banks (XA*.XA, each holding several interleaved voices). The same WASM build that powers the asset viewer parses, decodes, and plays everything locally - nothing leaves your machine. Your disc is cached locally in the browser and shared across pages, so it auto-loads on reload (use Forget to clear).
Load your disc image
Requires the full Mode2/2352 .bin - XA streams live in CD sectors outside PROT.DAT. The browser autoplay policy means BGM will only start after you click Play.
Notes
All decoded media stays in your browser. Decoders live in crates/web-viewer: VAB via legaia-vab::decode_vag, SEQ via legaia_engine_audio::Sequencer, XA-ADPCM via legaia-xa::decode, and the Iki MDEC cutscene video via legaia-mdec (frames assembled off the disc, then decoded one at a time as the movie plays). The clean-room SPU behind BGM is documented at subsystems / audio.
Browser playback sounding wrong? Hit the .wav button to download a raw PCM dump and play it in VLC / ffplay. The dumped bytes are byte-equal to ./target/release/xa demux-disc output (proven by audio_parity.rs) - that's the canonical ground-truth reference. If the downloaded .wav sounds correct but in-browser playback doesn't, the disconnect is on the WebAudio side rather than in the decoder.