Fairly Oddparents File Converting by jeangene91 at 2:44 PM EST on December 29, 2017
I am new to ripping game audio and my first gamerip attempt is Fairly Oddparents: Breakin' Da Rules. So far, I used VGMToolbox to extract the music.xbp file from the Xbox ISO and quickBMS to get the audio files (.wav and .wav.str files).

However, I do not know how to proceed. Wimamp (with the most recent vgmstream) won't play them. And I've tried using VGMToolbox to convert the files to .genh so I can use ToWav on them, but I do not know what values I need to do it right. So far, I can only produce crackling sounds.

I understand that this is how Blitz Games does their audio. For those here that have figured out how to convert the files to either .flac, .wav, or .mp3, what would be the next step after acquiring the .wav and .wav.str?
by bnnm at 4:58 AM EST on December 30, 2017
You could try also to change the extension to lwav or xwav.

But really, unless you post a bunch of example files (ideally all of them) to examine it's doubtful anybody could help you.
by jeangene91 at 12:58 PM EST on December 31, 2017
Okey-doke. The link is right here. I am fairly certain the .wav files are some kind of header file. Although, if it is anything like the Taz: Wanted files in the "Thread of Awesome", then the .wav.str files contain data, while the .wav's play the music.

I know that a user here, Mygoshi, has successfully converted them. Is there a way to contact him here?
by Mygoshi at 4:30 PM EST on December 31, 2017
I saw your thread. No problem, I'll try to write what you need to convert them. I'll post the message tomorrow normally.
by AnonRunzes at 5:44 PM EST on December 31, 2017
So you guys are working on a way to prevent this .wav/.wav.str format to be supported by vgmstream as much as possible.

I get it now...
by jeangene91 at 6:57 PM EST on December 31, 2017
Sorry, AnonRunzes. I didn't mean to cause any trouble. I am very new HCS Forum (clearly) and did not understand how things went on "behind the scenes." :)

Mygoshi, thank you for offering to help me convert the files. But if that will create any problems for these forums, do not post anything about it in this thread.

Again, I apologize.
by Mygoshi at 7:28 AM EST on January 1, 2018
I don't think it'll cause any problems.

We'll do it with "episode8.wav.str" (A Dog's Life level music)

So, you're gonna need QuickBMS by Aluigi. Once it's downloaded, now get the "file deinterleaver" script, that you can find on "My quickbms scripts" Alpha23's thread on Xentax. Open it in Notepad and change "set INTSIZE" to 0xD800. Put 0 for "set BLOCKSIZE". "set LAYERS" is at 3. (3 output files for A Dog's Life Normal, A Dog's Life Air Vent, A Dog's Life Unused Chase). Save the new script. Now, launch QuickBMS and take the script you just edited, and apply it to "episode8.wav.str". You normally have 3 output files. Add ".str" to their extensions. Now take VGMToolbox, create GENH for all of these with Codec : Xbox 4-bit IMA ADPCM; Interleave / Block Size set to 0xD800, Frequency to 44100 Hz, Channels to 2, No Loops, Raw Data Size to 1, and all the other values to 0x00. Play the GENH with vgmstream.

Tell me if it worked.

edited 7:35 AM EST January 1, 2018
by AnonRunzes at 9:27 AM EST on January 1, 2018
@jeangene91 - Heh, I didn't get what was going on with what was happening to make vgmstream into what it is either. I decided to apply GENH/TXTH into headerless formats only after its rapid growth.
by bnnm at 5:50 PM EST on January 1, 2018
The .wav is the header and the wav.str is the data. vgmstream can't support easily this kind of interleave (6ch I pressume) though so you'll have to use mygoshi's workaround for the time being.

Posting that info publicly doesn't cause any trouble, if anything it makes adding this format to vgmstream more likely, as it saves me time to research and saving me time is what you want if you hope for timely vgmstream updates.
by jeangene91 at 9:38 AM EST on January 2, 2018
That is a relief. The last thing I want is have everyone's hard work be wasted.

The workaround did not get me far, though. I applied Alpha23's deinterleaver as you suggested, but there were no output files. Should the other values (HEADER, PRESERVE, ADJUST, SPLIT, and the SKIPs) still be 0?
by AnonRunzes at 11:20 AM EST on January 3, 2018
I'm pretty sure I posted my deinterleaver script at some thread. Well, now you see it:
deinterleave.bms

Alpha23's "deinterleaver" script barely worked, as even in his "latest" version he simply decided that putting out bunch of warnings that prevented you from actually deinterleaving the file with his script at all was a good idea.

edited 11:30 AM EST January 3, 2018
by jeangene91 at 10:51 AM EST on January 4, 2018
Thank you. Your deinterleaver created the .str files. When creating the .genh files, should the values in VGMToolbox be what Mygoshi suggested? Because I tried it and got crackling noises.
by AnonRunzes at 11:06 AM EST on January 4, 2018
"When creating the .genh files, should the values in VGMToolbox be what Mygoshi suggested? Because I tried it and got crackling noises."
Actually... I'm not too sure about that. At best, due to the nature of the audio codec itself(which is a non-linear kind of ADPCM codec), you could be sticking with the wrong interleave value. Try 0x8000 as the interleave value.

In the meantime, I'll just be trying to mess with these files myself with the samples you just provided just to give you an "correct" answer.

---

Okay, for "2-channel" files you can try the 0x8000 interleave value. Anything beyond that needs the 0xd800 interleave, although the output file(when converted into GENH as that untouched file that is) might be a garbled mess at best. As I also found this similar "stereo-interleave" Xbox IMA variant in Shellshock Nam' 67, you might need to make a few extra steps for this.

So, the best way to tell if a .wav.str file has two or six channels, take a look at a .wav file that accompanies it through a hex editor. If you know what hexadecimal numbers are, let alone which terms are used when it comes to "hexadecimal" numbers, you're good to go.

Okay, so you opened a .wav file with your hex editor. Take a look at the 0x70 "offset" of a .wav file. The 0x01 value in there indicates the .wav.str file in itself is a stereo file in itself. When you see any number beyond that at that exact offset of that exact .wav file(although I've only seen these files store as far as the 0x03 number in there), that means how many "stereo" audio layers are there. Keep that in mind before splitting anything.

After you're done finding that out, here are the interleave for these .wav.str files:
"stereo" files(as seen through an accompanying .wav file) - 0x8000
"2-3 stereo" files(as seen through an accompanying .wav file) - 0xd800

Now let's move on to the actual part. So you splitted everything containing 2-3 stereo files(yes, these .wav.str files) using my script, with LAYERS set to 2-3(as, in the information you have in mind from that accompanying .wav file that forms the soul of a .wav.str file) and the INTERLEAVE value set to 0xd800. Now you can convert these splitted files into GENH files with that exact values mygoshi suggested, however keep in mind the interleave I just posted here. The 0x8000 interleave value applies especially for all stereo files, even splitted ones so use 0x8000 instead for the interleave value.

The result will be "playable" GENH files out of these splitted "stereo" files. That's as far as I can go.

edited 11:36 AM EST January 4, 2018
So Close I Can Taste It by jeangene91 at 9:43 PM EST on January 4, 2018
The .genh files are made but their length is 0:00 in Winamp. Unless I missed anything else in the hex editor or some missing component (like how VGMToolbox's XMA converter needs ToWav and SoX), I have to throw in the towel.

I appreciate all you've done to help with this.
by AnonRunzes at 10:10 PM EST on January 4, 2018
You're welcome.
It Works! by jeangene91 at 4:11 PM EST on January 17, 2018
I decided to try converting the files again with the specs and values, and the .genh files play. I don't know what I was doing wrong before, but the process works. Thanks again for all of your help.


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]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source