Compressed DSPs? by puggsoy at 12:52 AM EDT on May 24, 2013
I've been having some trouble. I've got a couple of DSP files, some can be converted by vgmstream but others can't. I've been looking at them in a hex editor and have identified that they're in 3 different formats. One of them works, the other 2 doesn't. One that doesn't work looks like a different (compressed/corrupt?) version of the working one, while the third doesn't look related.
You can download them here: Type A (working) Type A2 (compressed/corrupt?) Type B (unrelated to A)
Anybody know how to decompress them to a working format for vgmstream? Or what else to do with them? I didn't get these files myself by the way, I'm helping someone else.
If you rename the non playable ones to .bdsp they are playing, there's a click at the start of the playback, maybe a wrong start offset in the vgmstream code.
Well I tried that, and it doesn't work with either of the non-playable ones. I don't think that would matter anyway, as far as I know vgmstream doesn't pay attention to file extensions.
The extensions are heavily used in VGMstream. While the header/data organization may be important, there's just too many variants (often identical in layout, but different in format) to rely on that. In other words, the extension is frequently very important in VGMstream.
The best example of this is Super Paper Mario. The format is identical to "standard" Nintendo audio (either DSP, or BRSTM), except that it's played at the wrong samplerate (it's even defined wrong in the header, so you can't rely on that either). To get past this problem, a new extension had to be created.
So, changing the extension can definitely make a big difference in whether or not VGMstream can play it properly. I can't help you much in figuring out what to change the extension to though. Hopefully that clears up any confusion. Mouser X over and out.