I need some help figuring out the whole block size of a file. Basically, I want to deinterleave the two streams of that file (with the Alpha23's script) in order to obtain the two streams seperated and then play with vgmstream. Unfortunately, I don't have the block size and also, I'm pretty sure the resulting files will not be playable with vgmstream. It's the Blitz Games STR+STH Gamecube format. The *.wav.str contains two different files interleaved together (0x8000). The frequency of the streams is 32000Hz. The codec used is Nintendo Gamecube DSP 4-bit ADPCM. The coefficients are found in the *.wav.sth file (didn't start to find them, as I'm not at this step right now).
I assume these are 4 channel sounds like music in Pac-Man World 3. If that's really the case you can use TXTP with channel mask to play the selected channels only, then you can export the result. Example:
sound.wav#c1,2
This file would play the first two channels from sound.wav.
EDIT: Wait, you said that you haven't played them in vgmstream. Since the header and body are in different files, playing them is a problem as TXTH doesn't provide functionality for such a case.
Well, apparently, there *is* an old parser for this format in vgmstream. The problem is that it not easily identifiable and differs slightly with each game so this one is unplayable at the moment.
I've dug into the header and you were wrong about the sample rate, it's actually 44100 Hz (at 0x24). I've also found coef tables at 0x11C, 0x17C, 0x1DC, 0x23C. Unfortunately, like I said, you can't use TXTH header to play them as is.
I was wrong though, I said it was two streams interleaved together but it's just multichannel.
I tried creating a GENH header to backyard.wav.str after adding the STH header to the STR.
Here are the settings I used: Header skip 0x280 Interleave 0x8000 Channels 4 Frequency 44100Hz No Loops Coef Offset: Right Channel: 0x11C Coef Offset: Left Channel: 0x17C
The resulting file has static noise but I can hear the music without distortions, so it's a problem of coefficient offsets. I also tried other coef offsets but it also doesn't work... Any suggestions ?
I've fixed this, plus you don't need to rename to .sth anymore. Looping may be wrong, and it'll play all channels at once so try .TXTP like Nicknine suggested.
Note that the Blitz STR header is poop and support for their games must be done case by case.