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.

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.

This tool doesn't and won't modify .bnk.


If you are interested also check:
- full guide
- readme
- advanced docs

edited 3:49 PM EDT October 26, 2020
by Dark_Ansem at 9:05 AM EST on November 27, 2020
Oh my GOD. Will this work on Mass Effect files too?
by Dark_Ansem at 3:32 AM EST on February 10, 2021
Is an update to wwiser coming?
by bnnm at 5:56 PM EST on February 10, 2021

It's updated irregularly though.

As for your Mass Effect question, I have no clue. But most likely will work, since most games do.
by Dark_Ansem at 5:43 AM EST on February 11, 2021
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.

Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]


HCS Forum Index
Halley's Comet Software
forum source