Doom (2016) - Wwise SoundBank (BNK) file format

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Nicknine
Posts: 18
Joined: Tue May 29, 2018 9:07 pm

Doom (2016) - Wwise SoundBank (BNK) file format

Post by Nicknine »

So I've been trying to figure out how exactly this game's music is structured and ran into difficulties with Wwise BNK format. The format has been documented here but only partially. The page was last updated in 2012 and I'm pretty sure the format has been updated since then.

Now I don't need help with extracting the actual audio files, there are already working tools for that, what I'm trying to figure out are the Wwise objects in HIRC section, music related ones in particular - 0xA (Music Segment), 0xB (Music Track), 0xC (Music Switch Container), 0xD (Music Playlist Container).

What I got so far is that Music Switch Container manages playlists, Music Playlist Container contains a list of music segments and how they're managed, Music Segment contains one or more music tracks and Music Track references the actual audio file the ID of which can also be found in soundbanksinfo.xml.

If someone could document the format of these objects in Doom (2016) version of BNK I would greatly appreciate that because combat music in this game pretty complicated and cracking the format would allow us to actually mix the segments in the order they're supposed to play in-game.

doom_music.bnk
soundbanksinfo.xml - the manifest which should help with understanding what audio file's what.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Doom (2016) - Wwise SoundBank (BNK) file format

Post by aluigi »

You can just ignore the wiki on xentax since it's often wrong, partial or not updated (I talk by experience)

The BKHD format is fully covered by the following script:
http://aluigi.org/bms/armyoftwo.bms
Nicknine
Posts: 18
Joined: Tue May 29, 2018 9:07 pm

Re: Doom (2016) - Wwise SoundBank (BNK) file format

Post by Nicknine »

Once again, I don't need the actual audio files, I need to view playlist info, etc, from HIRC section which is just skipped by the script you posted.