Wwise music ripping guide by bnnm at 6:12 PM EDT on October 25, 2020
I've made a tool called "wwiser" to semi-automate Wwise (.wem) ripping with proper looping. Here: wwiser releases (needs python3 installed).
Download wwiser.pyz + wwnames.db3 to some folder. Open (double click) wwiser and use it to parse and convert .bnk (Wwise sound info) into .txtp that handle Wwise's dynamic songs. You need the latest vgmstream. Should be easy enough to figure out but:
***
Quick guide to get decent Wwise rips - get latest wwiser: wwiser releases - put all .bnk and .wem in a dir ** .bnk/wem may be in other bigfiles like .pck, use this: wwise_pck_extractor.bms - put SoundbankInfo.xml/(bankname).txt/Wwise_IDs.h/etc together too ** you want ALL of those, SoundbankInfo.xml doesn't have every name ** if you don't have those it's still possible to get names, see: NAMES.md - open (double click) wwiser.pyz, make sure you have "wwnames.db3" in wwiser folder - press LOAD and choose some .bnk (bgm.bnk or just all of them), check "move .wem" ** It's recommented to load `init.bnk` too if you have companion files. - press GENERATE to get .txtp (pay attention to log, you may need to tweak things manually) ** this creates /txtp folder with .txtp and /txtp/wem folders with .wem - test .txtp with vgmstream (you may need to tweak some manually to improve) ** if you change .txtp also change the filename so it doesn't get overwritten if re-generated ** ex. from "blah {r}.txtp" you may need to make "blah {r1}.txtp" "blah {r2}.txtp" - remove unwanted .txtp (like voices) - use this python script to move .wem not in .txtp to /unwanted: wwise-cleaner.py ** check if /unwanted does have wanted music (may have removed good .txtp) - check if there are .wem in root (before /txtp folder) not moved with have useful/unused audio ** put in "/unused" folder - include companion files (.xml/.txt/etc) + .bnk in some /extra folder or !extra.7z ** you may need to re-generate when new features/fixes are added (!!!) ** some .bnk may need to go to /wem folder instead (see log!), might as well put files there - 7zip files and folders (with .txtp in root) + upload rip somewhere
Note! .txtp are Good Enough but not perfect in all cases. This means you may need to generate them again later when I fix bugs. I wanted to make them future-proof and avoid re-generating but it was too time-consuming, sorry.
NOTE ABOUT WWISE Wwise never, ever plays *(number).wem* directly. Instead, it uses .bnk to indirectly play one or many .wem, through "events", with config. wwiser creates .txtp that simulate that so results are as accurate as possible. Loops and other audio info is in the .bnk, not the .wem. Please Understand.
I'm waiting for the Legendary edition, to see if they streamlined all audio to work with wwiser, as in the first game it was just a collection of OGG files and for the second, it was hidden behind afc player with no bnk file. Only ME3 did work.
by Dark_Ansem at 6:07 PM EDT on September 24, 2021
So, I'm trying to rip the Pathfinder: Wrath of the Righteous music with this tool, but I think something is broken, as the loops extracted are all wrong.
By "wrong" I mean that the loop as played by Foobar and the txtp file does not sound at all like the in-game loop.