#1
|
||||
|
||||
How to properly compress FMOD vorbis audio
How to properly compress FMOD vorbis audio
Good evening everyone. I will not spend too long writing up this one since I detailed a lot in the WWise guide. Like I noted in my guide for WWise audio, the WAV version of FMOD can be compressed with MSC just fine. FSB files contain OGG audio or WAV (and in some cases, both). OGGs, when done correctly, can be compressed with Oggre, saving you some space. Here is the guide for how to properly compress FMOD audio. Part credits go to sowwyitsanalt for helping dig up some of these tools to help with the process. Guide Step 1: if you have an FMOD .bank file
Step 2: now that you have a file that starts with FSB5 header
Step 3: Building the big ogg file
Step 4: OGG to FMOD
Step 5: Make a patch to the original bank
Hopefully you now understand the process of compressing FMOD audio. Referring to the above method, Master.TMP will be able to be compressed with oggre leading to smaller size than if you ran LZMA or whatever over the BANK. This method is hit and miss, since there can be frequent errors with the python script. It isn't perfect. If you would like a visual example, with screenshots and demonstration on a sample bank, please let me know and I shall provide. Last edited by Masquerade; 26-02-2022 at 14:55. |
The Following 9 Users Say Thank You to Masquerade For This Useful Post: | ||
:( Sad8669 (26-02-2022), dixen (27-02-2022), ffmla (28-02-2022), Gehrman (26-02-2022), Junior53 (24-06-2023), kj911 (07-04-2022), rambohazard (04-03-2022), Wanterlude (26-02-2022), wareck (15-04-2024) |
Sponsored Links |
#2
|
||||
|
||||
Has anyone else encountered/attempted to apply this method to a "*.fsb" file present amongst a selection of "*.bank* files? I'm currently attempting to do so with the title "Hades" and have unfortunately had little success. Rebuilding the extracted Vorbis OGG audio files into a generated "*.tmp" fails, crashing "bincat", which I assume is likely due to the ~20,000 files extracted. Attempting to create 2 seperate ".tmp" files and manually merging them also seems to not be possible however further experimentation is required to discern whether the methods employed are at fault rather than the concept itself. I believe figuring out a viable solution is important for this title as the "VO.fsb" makes up for 655 MB out of the total 1.09 GB of FMOD audio containers present.
Last edited by L33THAK0R; 06-04-2022 at 18:59. |
#3
|
||||
|
||||
Please may you upload this file and send it to me? I would love to take a look.
|
#4
|
|||
|
|||
Hello, I try your tutorial but I have this message on all the files I test. Is this normal?
Code:
extract.py VO_FR.FSB -o VO_FR Traceback (most recent call last): File "F:\fmod\extract.py", line 131, in <module> main() File "F:\fmod\extract.py", line 127, in main exit(app.run(sys.argv[1:])) File "F:\fmod\extract.py", line 120, in run with open(fname, 'rb') as f: PermissionError: [Errno 13] Permission denied: 'VO_FR.FSB' and if I directly indicate the name of the fsb file I have this message Code:
f:\fmod>extract.py VO_FR.dat -o VO_FR Traceback (most recent call last): File "F:\fmod\extract.py", line 131, in <module> main() File "F:\fmod\extract.py", line 127, in main exit(app.run(sys.argv[1:])) File "F:\fmod\extract.py", line 121, in run self.handle_file(f) File "F:\fmod\extract.py", line 110, in handle_file for sample_fakepath, sample_name, sample_data in self.read_samples(fakepath_prefix, fsb, ext): File "F:\fmod\extract.py", line 86, in read_samples yield sample_fakepath, sample.name, fsb.rebuild_sample(sample) File "F:\fmod\fsb5\__init__.py", line 211, in rebuild_sample from . import vorbis File "F:\fmod\fsb5\vorbis.py", line 12, in <module> vorbis = load_lib('vorbis') File "F:\fmod\fsb5\utils.py", line 76, in load_lib raise LibraryNotFoundException("Could not load the library %r" % (names[0])) fsb5.utils.LibraryNotFoundException: Could not load the library 'vorbis' Last edited by fabrieunko; 28-06-2022 at 23:36. |
#5
|
||||
|
||||
Put libogg.dll and libvorbis.dll from that archive in System32. That's how I fixed this.
|
#6
|
|||
|
|||
Hello
I follow this guide but I've got some but I'm having trouble finalizing the project... What I've done: file.bank => extract FSB file with quickbms PythonFSB5=>extract all .ogg file bincat to concatenate all .ogg file now i do not understand that : if I use oggvorb2fsb on this file I have a very small gain durring compression almost nothing If i use oggre I have a very high gain , but crc error when I unpack file... for now if I do this file.bank => extract FSB file with quickbms PythonFSB5=> extract all .ogg files bincat => one big file oggvorb2fsb5 => one big encoded file hdiffpatch between original.bank and my new file compress encoded file + diff file during unpack hpatchz encoded + diff file => restore my original file.bank It works but very small ratio gain in conversion... thanks for your help regards |
#7
|
||||
|
||||
Use another hdiff patch from the decoded data from oggre_dec.exe to the concatenated ogg files. That hdiff patch should be tiny. Don't use oggre under freearc if you get a CRC fail.
|
The Following User Says Thank You to Masquerade For This Useful Post: | ||
wareck (15-04-2024) |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to correctly process WWise Vorbis Audio | Guide + WemTool | Masquerade | Conversion Tutorials | 25 | 01-09-2024 22:45 |
Anno 1701 won't load, just get a blue screen! | Shadow22 | General Gaming | 5 | 28-08-2012 12:52 |
CPU jumps up to 100% now, not before | dav6 | Software | 11 | 24-05-2008 03:33 |
air force delta | snake | DC Games | 0 | 15-04-2001 04:34 |
air force delta | snake | DC Games | 1 | 13-04-2001 20:04 |