Audio Playback/Conversion¶
Relink uses AudioKinetic's Wwise as its Audio Middleware for playback and file formats. It is generally a pain to deal with both for extraction and creation of new audio.
There are two distinct proprietary formats:
.bnk- These contain instructions on how to play audio, but does not necessarily contain audio by themsleves (except for_mbanks). You can most of these in thedata/soundfolder of the game..pck- Contains actual sounds. You can not simply and play them. You will need to extract them first, and will specifically be located in thesoundfolder.
Requirements¶
- Game files extracted beforehand.
- foobar2000, Music player.
- vgmstream, Get
.fb2k-componentfile. This is a plugin for foobar2000. - Python 3, Required for Wwiser.
- Wwiser, Used to process
.bnkfiles. - QuickBms + wwise_pck_extractor.bms + BnkExtr, Used to extract
.pckfiles and.bnkcontaining audio if you need it. - wwnames.txt (Right-click Save), Names for each Wwise 'event', to tell sound files apart. This file has been manually created after reverse-engineering.
Install foobar2000 + plugin, extract the rest in the same folder, make sure to place wwnames.txt next to Wwiser.
Playing Audio¶
You should make a copy of the data/sound folder away from the game for backup purposes & to centralize all sound assets, so create one and merge the extracted sound folder with it so that you have both .pck and .bnk files.
- Drag and drop one or more
.pckfiles toextract_pck.bat. This should create a new folder withwemfiles inside. - Open
wwiser.pyz. Hit Load banks to load.bnkfiles (or Load dirs to load ALL.bnkin a folder). LoadInit.bnkbefore any other banks. Wait until the files have loaded. - Hit Generate TXTP. This will create a
txtpfolder with each file containing instruction on how to play every Wwise event. - Drag the folder or individual txtp files to foobar2000.
Tip
You should mark .txtp files to always open with foobar2000.
Additional Information¶
All this wouldn't have been possible without bnnm's tools and time spent on audio reverse-engineering!
Wwise Information¶
Wwise, Relink & Other Details¶
- Every character that speaks has an associated sound &
lipsyncfile found in thesound/lipsyncfolder. These were used to reverse the Wwise event names. - For some reason,
YellowTown= Folca,RedTown= Seedhollow. - Character emotes/motions and their linked files are defined in their
<entity>_<id1>_<number>_seq_edit_se.xmlfile i.enp/np0300/np0300_3040_0_seq_edit_se.xml. - Audio playback through FSM happens using
SoundTriggerAction,SoundOneVelAutoTriggerAction(and potentially more). - The
.wemfiles contain a file name (except for certain packs), but aren't necessarily the event's.