console-sound
console-sound
The Sound Designer gets a game's audio out as WAV files you can listen to, and puts your own sounds
back in the same format. PS2 audio is Sony's SPU2 ADPCM: 16-byte frames of 28 samples each. It lives in
.vag files (a 48-byte VAGp header, then the frames), in sound banks (a .hd header plus a .bd of
headerless frames) and in game-specific streams. vag.py decodes exactly the way the PS2Recomp runtime
does (ps2xRuntime/src/lib/ps2_audio_vag.cpp), so what you hear is what the port plays.
Honest limits. The port's audio is high level: ps2xRuntime/src/lib/ps2_audio.cpp decodes the VAGp
blocks a game transfers and plays them through raylib when the game sends libsd voice commands. It is
not a full SPU2, so loop flags, reverb, envelopes and music streamed through a game's own driver may not
play in the port yet (that is /console-backend work). Banks have no rate in the .bd; it comes from the
.hd or from your ears. Movies (PSS) are out of scope.
${CLAUDE_SKILL_DIR} below is this skill's folder (where this SKILL.md lives).