Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Mortal Kombat X sound format

Featured Replies

  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 9:22 am (5175)


AlphaTwentyThree wrote:
Else, are we actually getting closer to rebuilding working ogg headers from out of fsb files?


No. This tool just decodes them using fmod library.
  • Replies 77
  • Views 2
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 9:23 am (5176)


AlphaTwentyThree wrote:
Is anybody working on an FSB5 splitter? Basically it only needs to work with thee decoding tool, nothing more!


I don't understand, why splitter is needed?
  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 9:24 am (5177)


brendan19 wrote:
Whenever I use this tool, it outputs the .wav file without the filename from the FSB.

I can't batch convert them because of this issue :(

Input1.fsb --> .wav
Input2.fsb --> .wav (Overwrites previous conversion)


This may mean there's no names inside the FSB. Can you send me an example file?
  • Author
  • Localization

AlphaTwentyThree, posted Sun May 10, 2015 10:20 am (5178)


id-daemon2 wrote:
AlphaTwentyThree wrote:
Is anybody working on an FSB5 splitter? Basically it only needs to work with thee decoding tool, nothing more!


I don't understand, why splitter is needed?

I archive video game music in native format. Normally I extract fsb containers to get the original files again except in the case of oggs. If a game packs all sounds inside one big archive, I don't want to archive it. Instead I'm looking for a way to separate the music from the sounds and delete the latter. I guess I'm not that much of a special case because JoshW also builds such a library of games (http://www.hcs64.com/mboard/forum.php?showthread=26929).
I don't think it's very complicated to code. I'd do it myself but obviously I lack the competence. ;)
  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 10:45 am (5179)


Your first phrase confused me

Quote:
one file per fsb so one can use fsb_aud_extr.exe on single files


About "rebuilding ogg" it is not just about making headers. It IS complicated, you need to encapsulate ogg stream into vorbis container, and their packet requirements are crazy, I can't even understand how it must work yet.
  • Author
  • Localization

AlphaTwentyThree, posted Sun May 10, 2015 11:01 am (5180)


id-daemon2 wrote:
Your first phrase confused me

Quote:
one file per fsb so one can use fsb_aud_extr.exe on single files


About "rebuilding ogg" it is not just about making headers. It IS complicated, you need to encapsulate ogg stream into vorbis container, and their packet requirements are crazy, I can't even understand how it must work yet.

But does fsb_aud_extr.exe need valid headers for each single file inside an FSB? Isn't it possible to split the FSB container without perfectly rebuilding it and fsb_aud_extr.exe still being able to decode the resulting fsb files?
  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 11:09 am (5181)


What is the reason to split FSB file, then decode individual files? What do you mean by "decode"?
  • Author
  • Localization

AlphaTwentyThree, posted Sun May 10, 2015 11:14 am (5183)


id-daemon2 wrote:
What is the reason to split FSB file, then decode individual files? What do you mean by "decode"?

Decode the streams to uncompressed wave. I stated the reason above...
  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 11:20 am (5184)


So you want to make 10 small FSB files from 1 big FSB file, and store it? Sorry, I don't know if its possible. Maybe Luigi can help you.
  • Author
  • Localization

AlphaTwentyThree, posted Sun May 10, 2015 11:37 am (5185)


id-daemon2 wrote:
So you want to make 10 small FSB files from 1 big FSB file, and store it? Sorry, I don't know if its possible. Maybe Luigi can help you.

Well yeah, I want to split the archives AND delete the sounds.
What exactly does your tool do? Doesn't it read the offsets and sizes of the ogg containers and sends them through the dll to decode? Wouldn't it be easy then to take this very information to recreate an FSB archive that only holds one size-offset combination?
  • Author
  • Localization

id-daemon, posted Sun May 10, 2015 11:41 am (5186)


AlphaTwentyThree wrote:
What exactly does your tool do? Doesn't it read the offsets and sizes of the ogg containers and sends them through the dll to decode?


No. It passes the whole FSB file to the dll.
  • Author
  • Localization

AlphaTwentyThree, posted Sun May 10, 2015 5:38 pm (5196)


id-daemon2 wrote:
AlphaTwentyThree wrote:
What exactly does your tool do? Doesn't it read the offsets and sizes of the ogg containers and sends them through the dll to decode?


No. It passes the whole FSB file to the dll.

Ok, I didn't know that... Seems like I'll have to give it a try after all... ;)
  • Author
  • Localization

brendan19, posted Mon May 11, 2015 1:44 pm (5204)


id-daemon2 wrote:
This may mean there's no names inside the FSB. Can you send me an example file?


Sure, here's an example file. It doesn't have the filename inside the FSB so maybe you could add that to your program? If no string ID is found for a name then it uses the basename of the FSB file adding a _1, _2 etc or something if there is more than one file :)

Sample File
  • Author
  • Localization

AlphaTwentyThree, posted Mon May 11, 2015 2:34 pm (5206)


Else... could you upload the source code somwhere? Maybe somebody is able to write an according QuickBMS script which eventually can be rewritten to split FSB5 containers?
  • Author
  • Localization

id-daemon, posted Mon May 11, 2015 2:39 pm (5207)


AlphaTwentyThree wrote:
Else... could you upload the source code somwhere? Maybe somebody is able to write an according QuickBMS script which eventually can be rewritten to split FSB5 containers?


Sure, here it is. But it will not help a bit to write any scripts:

Code:
result = sound->getNumSubSounds(&numsubsounds);
result = sound->getFormat(&stype,&sformat,&s_channels,&s_bits);

for (i=0;i{
   sound->getSubSound(i, &sound_to_play);
   sound_to_play->seekData(0);
   result = sound_to_play->getDefaults(&s_freq,&s_bits);
   result = sound_to_play->getFormat(&stype,&sformat,&s_chan_this,&s_bits);
   result = sound_to_play->getLength(&bs, FMOD_TIMEUNIT_PCM);
   result = sound_to_play->getName(fnn,nl);
   buffer = (char*)malloc(bs*s_channels*s_bits/8);
   result = sound_to_play->readData(buffer,bs*s_channels*s_bits/8,&br);
   FILE *file = NULL;
   file = fopen(strcat(fnn,".wav"), "wb");
   WriteWaveHeader(file,(unsigned long)s_freq,s_bits,s_channels,br);
   fwrite (buffer, br,1,file);
   fclose(file);
}
  • Author
  • Localization

id-daemon, posted Mon May 11, 2015 3:15 pm (5209)


Here's a new version that will output numbered filenames if there are none inside of FSB. Also some basic error handling added, so if you give it a wrong file, it won't crash, but give you proper error message.
  • Author
  • Localization

brendan19, posted Mon May 11, 2015 4:47 pm (5210)


Fantastic, thank you for the update :)
  • Author
  • Localization

id-daemon, posted Mon May 11, 2015 5:05 pm (5211)


You're welcome. Maybe in case of only 1 file it's better not to add that _0 ?
  • Author
  • Localization

brendan19, posted Tue May 12, 2015 8:29 am (5228)


Yeah probably not if there's only a single FSB.

Files that have more than one FSB in them should add the numbers like _1, _2, _3 etc at the end :)
  • Author
  • Localization

id-daemon, posted Wed May 20, 2015 5:46 pm (5326)


probably out of memory error, because i never released any memory :)

I never expected it to be used on files that large. What is the error message?
  • Author
  • Localization

AlphaTwentyThree, posted Thu May 21, 2015 6:27 am (5333)


id-daemon2 wrote:
probably out of memory error, because i never released any memory :)

I never expected it to be used on files that large. What is the error message?

Something like "Wrong parameter given"...
  • Author
  • Localization

id-daemon, posted Thu May 21, 2015 4:23 pm (5342)


ok it was from out of memory. Fixed.
  • Author
  • Localization

AlphaTwentyThree, posted Thu May 21, 2015 6:26 pm (5344)


Cool thanks! :D
  • Author
  • Localization

Wilbo22, posted Fri Jul 03, 2015 12:38 pm (6085)


Works flawlessly on SND_*.xxx files (such as speech files). Has anybody found the characters' combat sounds yet? Like attack and hit sounds etc.?
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.