Strange issue when extracting audio from XBOX360 Guitar Hero games by mrhappy at 6:47 AM EDT on October 10, 2010
Hi everyone,
I've been using xendecrypt, fsbext, and the xma_parser to extract audio from some of the Guitar Hero games and I've run into a strange issue I can't identify.
Most songs extract and convert perfectly but occasionally, some of the extract channels are cut-off on the end (so far I've run into this on GH:VH and GH:SH). When it does happen it seems to always happen when I extract "channel 4" at offset 1800 (the final track in the file) from the from the first file in the set, and sometimes to others in the same song. It can vary between 1 and 4 channels that are cropped within the affected songs, and no two cut-off in the same spot.
So my question is- does anyone have any idea what's going on and what I can do to fix it? I've tried messing with every setting I can think of in xma_parser (and the other programs) to change it. Different offsets, block sizes, etc and nothing works. Here's one of the affected files if someone wants to take a look (Ain't Talking 'Bout Love by VH):
http://www.mediafire.com/?yv4s3jb7p18774v
The command I use to get the cropped track from the above file is: xma_parse m1 -o 1800 -b 10000 -r t4
I had exactly the same problem as you. The solution is to add a large header onto the file after the parser has been run. You can find the header here http://www.mediafire.com/?amnh6krtkbmsnla Open both the xma file and the header file using an hex editor. The contents of the header need copying to the beginning of the xma file and saving as a new file. You should then be able to use towav to decode a complete file which is not cut off.
Thanks Biff100, it worked!! I figured it was either a software bug somewhere along the line or something else I couldn't do much about but I'm glad to see that's not the case.
It's odd but I've had a few channels/tracks on different GH songs come out one or two KB's smaller than the rest (even with different headers). I guess it doesn't matter because it's just silence at the end that's cut, but it's perplexing.
Sorry to bump up an old topic, but I've been having the same issues, and the mediafire link isn't valid anymore. Would anyone happen to have this file? Or be able to show me how to change a header so it will work better for me?
Fyi I've recently made a tool called xmash (0.3 here) which combines decryption, separation of streams, rebuilding as XMA1, and header generation. I don't know if it will work on exactly the games you are describing (it was mostly tested with GH5). It handles both encrypted and unencrypted FSB as well as some standard XMA2 RIFF headers.
It is intended to use all-in-one, so just run xmash.exe allalongthewatchtower_2.fsb.xen
and it will kick out allalongthewatchtower_2.fsb.xen_multichannel sound_1_1.xma allalongthewatchtower_2.fsb.xen_multichannel sound_1_2.xma allalongthewatchtower_2.fsb.xen_multichannel sound_1_3.xma
I tried using your tool on my decrypted fsb files, and it kept hanging on "Trying padding..." Maybe this is because it got decrypted funny somehow? I would try it on the original encrypted files, but I accidentally deleted them from my computer. So, I took a look at the xma header I had and tried modifying it to see if I could get towav to convert the whole file, and it worked.
I'll be sure to keep that program handy for future use, though.
Weird, that means it didn't detect it as a valid FSB and it tried to decrypt it. If you could upload an example file I could probably fix it, even though you don't need it I'd like to make the tool correct.
Its a Guitar Hero World Tour DLC file. It does this to every GHWT DLC file I've tried.
It did produce a file "adlc11_1.fsb.xen_multichannel sound_1_1.xma", which I tried to run though the program. It just says "Trying padding..." then "failure."
Where is a good place to upload the file to?
While I have figured out the xma header issue, having an all in one tool is always a better solution.