I'm having a heck of a time understanding the exact science behind ripping an audio file with MFAudio and I was wondering if there was someone here who could help explain a few things.
I'm attempting to pull the soundtrack from the PS2 game "Taz: Wanted" (and no, a complete soundtrack of it does not exist on Youtube, I've searched every game OST site I can find as well).
Anyway, I'm finding audio tracks in a file named STREAMS.ps2, and I've narrowed it down to 44100HZ for sure, 16 bit and definitely stereo (2). It's clearly compressed after looking at it with a hex editor, and I'm fairly certain the interleave is near 8000 if not 8000 exactly. The problem is, I don't really understand how offset works, or rather, how it affects interleave.
If I'm understanding things correctly, interleave is like the period of a square wave being used to re-split the audio into two channels. So does that make offset the phase? Interleave is restricted to mults of 0x10, an offset of anything not divisible by 0x10 creates a horrible screeching noise, so I assume it has the same (though not enforced) limitation.
With values of 8000 interleave and 800 byte offset, it almost works. It comes so close, but then starts to become more and more stuttery as the audio progresses. Can anyone give me any hints to figuring out these values a little more exactly? Is there any way I can tell by looking at the data in the file what the offset might be? There's a large bit of empty space before the hex kicks in, can I somehow use this to estimate offset?
I'm attempting to pull the soundtrack from the PS2 game "Taz: Wanted" (and no, a complete soundtrack of it does not exist on Youtube, I've searched every game OST site I can find as well).
Anyway, I'm finding audio tracks in a file named STREAMS.ps2, and I've narrowed it down to 44100HZ for sure, 16 bit and definitely stereo (2). It's clearly compressed after looking at it with a hex editor, and I'm fairly certain the interleave is near 8000 if not 8000 exactly. The problem is, I don't really understand how offset works, or rather, how it affects interleave.
If I'm understanding things correctly, interleave is like the period of a square wave being used to re-split the audio into two channels. So does that make offset the phase? Interleave is restricted to mults of 0x10, an offset of anything not divisible by 0x10 creates a horrible screeching noise, so I assume it has the same (though not enforced) limitation.
With values of 8000 interleave and 800 byte offset, it almost works. It comes so close, but then starts to become more and more stuttery as the audio progresses. Can anyone give me any hints to figuring out these values a little more exactly? Is there any way I can tell by looking at the data in the file what the offset might be? There's a large bit of empty space before the hex kicks in, can I somehow use this to estimate offset?