![]() |
How to correctly process WWise Vorbis Audio | Guide + WemTool
1 Attachment(s)
How to correctly process WWise Vorbis Audio | Guide + WemTool
Good evening everybody, I am sure we have all seen audio in *.wem format before. This is a very common type of audio in games and is made by WWise sound engine. The audio in the .WEM format can either be Vorbis (you may know this as *.OGG) or WAVE audio (*.WAV). Wems that contain WAV audio can be already compressed by ProFrager's Media Streams Compressor just fine and is not the focus of this guide. Instead, I would like to explain the best way to compress the Vorbis wems. For normal vorbis audio, we would use ProFrager's OGGRE compressor however ProFrager also made a separate version of OGGRE for WWise vorbis. In order to gain the benefits of this tool, you could follow these steps:
This is a very basic process. However, from reading the above steps - you wil be thinking - how on Earth am I meant to use OGGRE (WWise version) with FreeArc? The answer is, we don't. Because Oggre WWise can only proccess one file at once and not many files. FreeArc would bundle all of your *.oggs together in $$arcdatafile$$.tmp. Because we cannot use FreeArc for this (it would crash because the decoded output of the compressed *.ogg file DOES NOT MATCH the input file to the encoder), we have to go down a different route. Attempting to individually compress each *.wem file in a game where there could be thousands of wems is a nonsense task, so instead I simplified it. I would like to introduce WemTool - a wrapper for several tools which will parallel process all of your wem files. Code:
WemTool [For Vorbis WWise Audio] - WW2OGG by hcs64 - MParallel by LoRd_MuldeR - Oggre WWise by ProFrager - HDiffZ by sisong In order to use it, simply drop WemTool.exe into the root of the game folder that contains *.wem files and run it from command line with either encode or decode option. WemTool will compress all the *.wem files possible (it runs recursive) and then delete the successfully compressed wems, leaving a *.ww file and a *.DIFFZ file which then can be decoded by WemTool back into a *.wem. All CPU threads are used. If any *.wem files are left after WemTool has run, it means that they contain Wave audio and you should compress them with MSC instead. To demonstrate on a sample of *.wem files from the game "Old World": https://i.ibb.co/Jxyq1KN/ex-comparison.png My apologies for the long read. I hope you understand what has just been explained, but this is certainly a lot more wordy than I would have desired. Please note that I did little to no coding here, it's Bat2Exe + all aforementioned tools, so all credits here go to ProFrager, LoRd_MuldeR, hcs64 and sisong for their tools which all are used by this program. |
Quite an interesting read, well done putting this all together in such a cohesive post!
|
WemTool v2
|
hello, if I may, the voice of God *.wem would like to ask your support on how to reduce the size of wem files the sample video can be a very understandable training video.
|
Hello, thank you works well on Gow on the other hand how to use it with an installer? is there one that supports it or do you have to do a .bat? who would run the -d function after decompressing the .bin?
|
Quote:
Code:
Exec2(ExpandConstant('{app}\WemTool.exe'), '-d') |
Thank you, can you help me? I use
Windows Phone Installer (DSG) I have identified the ISdone line which I think is the correct one and the line Exec2 Code:
function ISArcExtract(CurComponent: Cardinal; PctOfTotal: Double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: Boolean): Boolean; external '[email protected]{tmp}\ISDone.dll stdcall delayload'; Code:
Exec2(ExpandConstant('{app}\WemTool.exe'), '-d') |
An alternative way is to execute a bat file through Inno Setup.
Code:
[Run] |
Quote:
Use it in "procedure CurStepChanged" CurStep = ssPostInstall I don't know this script, but it should look something like this Code:
procedure CurStepChanged |
Thanks Kaktor, do you think this is good?
Code:
procedure CurStepChanged(CurStep: TSetupStep); |
Should be fine
|
Thank you very much for your help, I appreciate helping beginners like me. I have a last question about the executable Wemtool.exe where should I put it? next to my installer.ISS?
|
You can either include it into your installer ([Files] section, DestDir: "{app}") or directly include it into game folder before compression.
|
WemTool help with usage
information about the way it is used as a video or image The God of War (*.wem) How can I compress multiple files? and how to restore compressed files |
Quote:
Put WemTool.exe in GodofWar game folder Create a batch file in same folder Code:
"E:\Games\GodofWar\WemTool.exe" -e Compress the game After installing/unpacking with your installer, let the installer run WemTool.exe with -d parameter (explained a few posts above). Finish |
All times are GMT -7. The time now is 10:12. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.
Copyright 2000-2020, FileForums @ https://fileforums.com