Modding rundown: Sound

Started by Noelemahc, December 05, 2006, 11:53PM

Previous topic - Next topic
December 05, 2006, 11:53PM Last Edit: December 06, 2006, 01:31AM by Noelemahc
There are four simple things to bear in mind when dealing with the sound files of the game.

First. The formats are different for every base version of the game (PS2 and PSP use ZSNDPS2; PC uses ZSNDPC and X-Box and X360 rely on ZSNDXBOX; I am not currently aware of the Wii's sound format). This affects both the structure of the ENM/ENS (for PS2) or ZSM/ZSS (for everything else) files and the format of the actual soundbytes stored within. Right-o.

Second. There are several useful tools you can rely on to get the sound out. The PS2/PSP sounds can be procured with the program MF Audio with a bit of help using your hex editor of choice:
QuoteThe header lists all the files within - the filenames, mostly. A'ight? This tells us the order, sort of. But how to find actual FILES in there? Find the separator between the data, right? Right. The separator in the PSP version is about 30 bytes of emptyness [hex code 00] preceded by hex code [07]. Sometimes less than 30, but the first offset with viable sound the program (MF Audio, remember?) finds for you, look at that in a hex editor and poof, you got the separator code.

To get sound in MF Audio, utilize a hex editor to look for these progressions and note the offsets. Then, round the offset UP to the next multiple of ten (i.e. the last symbol in the offset should be a zero, otherwise you'll only get static), switch to MONO mode (1 channel) and press "play". The sound of the PSP version is stored at two freqs - 16500 Hz for the heroes and 11025 Hz for everything else. If the play mode shuts off immediately, means you rounded up too few, so add 10 (i.e. if the offset 6660C0 in omega1_v.zss gives you a shutoff, enter 6660D0 -- that's Wyatt saying he'll pick us up, BTW).
The PC and, hopefully, the X-Box sounds can be procured via the Game Extractor tool (even the shareware version). It finds the offsets on its own, but just in case, here is the breakdown:
QuoteIn other news, I now have the hex codes for the separators in the soundfiles in the PC version. Hex code [80 80 90] followed by 10 bytes worth of [00]. The first symbol after the [00] will be on an offset with the last digit being zero - and it is the start of the soundbyte. Not that it helps anyone on the matter of extracting sounds (as they still sound like total *bleep*), but it MIGHT prove useful in the matter of reinserting new stuff. Time will tell, methinks, as well as further experimentation.

Third. The order. The PC and X-Box versions list the filenames in the start of the ZSS/ZSM file; judging from that and the order of the sounds in the PS2/PSP files, they are always alphabetical. The tags on the soundfiles within the ZSS/ZSM files go as follows:
QuoteThe _V file:
CANTGO - "I can't go there!" lines. Numbered in order, the ones labeled ALT have the same line, but delivered differently.
CMDATTACKANY - as the name implies, this is what the char says when you activate aggressive attack mode without a target highlighted.
CMDATTACKTARGET - same thing, but with a target highlighted.
CMDFOLLOW - the regroup/follow me command.
EPITAPH - what the character says when dying. Note that Ronin dies quietly :D
ISEEYOU - "Look sir, droids!" Enemy sighting phrases. Ronin's are rather bloody. Hawk's are funny. "Look, NEW TARGETS!"
LEVELUP - pretty obvious, no?
LOWHEALTH - Also obvious.
NOPOWER - "I have no power to do that" stuff.
NOWORK - "Not gonna happen" stuff. Can't remember where does this appear, really.
RESPAFFIRM - "Yes" to commands, also - char becoming active phrase.
TAUNTKD - taunting someone who got killed. Black Widow's are a blast.
THROWTAUNT - taunting someone who got thrown. Not all chars have those, apparently, and no-one can best Iron Man's "I can fly. Can you?"
TOOHEAVY - obviously, when you try to lift something beyond this chars' capability. Hawk's is funny, again.
VICTORY - gloating over when all enemies in AI range are dead. These are all good unclean fun :D
XTREME - the yells and calls done during the Xtreme Attacks.

The _M File:
DEATH - the sounds of the character dying.
JUMP - the sounds of the character jumping up.
LAND - and landing too
LIFT - the sounds of the character lifting stuff
PAIN - getting hurt
THROW - throwing stuff
SPECIAL, DRAW, HOLSTER - various weapon sounds
PXX - power sounds, they come with tags that are tied in to effect file names that they are supposed to accompany.

Fourth. Redundancy. Unfortunately, the PC version seems to have them hardwired in some form - meaning you can't rename a file and use it for someone else's. If you will, however, retarget the herostat.engb reference (which seems to be the ONLY thing that defines which voicefile a character uses), it will work normally. Weird, huh?

P.S. The X_ files are generic ones. X_common.ZSM lists the various generic effect sounds and X_voice.zss holds all the generic voices, including the announcer and the battlecries of characters leaving the team selection menu (<character name>_break.WAV).

EDIT: Yeah, slight appendix: The PC version's OFFSETS to find the files at can be found in the jumble preceding the filename in the listing in the header. As with all other offsets in this game's files, it is reversed (i.e. 0xc49 becomes [49][0c]). Since the X-Boxes use a similar compression, we have to assume it will work the same way for them. So, *adding* a file to them is theoretically possible now. We're just slightly stoppered on what format to save it as.

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Update: the X-Box. The common garden variety X-Box Alchemy engine relies on the Box's native ADPCM compression format. Which is good and bad. The good is, it also features a full header akin to the one the PC version uses. It is also of much higher quality than the PSP/PS2 version, which was the only one from which clear sound extraction was possible to date. There are dozens of XBADPCM codecs on the Interweb which may allow you to rip the musick and enjoy its sounds; or make a custom Deadpool voiceset for Freedom Force or, say, Baldur's Gate 2.
The extraction can be handled via the previously mentioned Game Extractor tool. Cheers.

The good news is, the Box version ALSO has the PSP exclusives voices; which means we at least get the correct filenames to use (which may very well be what I've been doing wrong all this time with the reinsertion); which will re-warrant my trying to do the "loose file" trick again. Bad news, of course, is that the Box files aren't directly compatible with the PC version. Bummer.

That, and I'm developing a huge migraine because I have this MASSIVE amount of homework to be given in in less than 24 hours -- and I got classes to attend today (yay for preemptive passing of last English exam for this semester!) and even have to sleep sometimes.

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Here is the news: the X-Box ADPCM decoding tools have proved most useful. While, technically, the XBADPCM format is eerily SIMILAR to what we get from the PC version's files (especially if you compare HOW it sounds when treated in the same way, via slapping on a simple RIFF WAV header), it is LARGER, and therefore of somewhat higher quality. Wow.
They also easily translate into clear sound, so I can now tell you that the files labeled 6_STAT are the taunts for when you win in Multiplayer Arcade mode (Deadpool gloats most unkindly, I'll have you know).

However, when subjected to said tools, the PC version's sound dumps do not produce a result any better than I've had before. Bummer. At least I now know that they are (supposed to be) actually 22050 Hz 8 bit mono sounds, just like the Box's, because they are the correct time length when decoded with that setting.

The loose file idea (putting the dumped WAVs into aptly named subfolders in the game dir, named according to the headers) failed miserably, the game still doesn't think they pass. At least it doesn't crash. I gotta try inserting some of the Box's sound data in there sometime, it very well might work.

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Quote from: Noelemahc on December 07, 2006, 05:03AM
Here is the news: the X-Box ADPCM decoding tools have proved most useful. While, technically, the XBADPCM format is eerily SIMILAR to what we get from the PC version's files (especially if you compare HOW it sounds when treated in the same way, via slapping on a simple RIFF WAV header), it is LARGER, and therefore of somewhat higher quality. Wow.
They also easily translate into clear sound, so I can now tell you that the files labeled 6_STAT are the taunts for when you win in Multiplayer Arcade mode (Deadpool gloats most unkindly, I'll have you know).

However, when subjected to said tools, the PC version's sound dumps do not produce a result any better than I've had before. Bummer. At least I now know that they are (supposed to be) actually 22050 Hz 8 bit mono sounds, just like the Box's, because they are the correct time length when decoded with that setting.

The loose file idea (putting the dumped WAVs into aptly named subfolders in the game dir, named according to the headers) failed miserably, the game still doesn't think they pass. At least it doesn't crash. I gotta try inserting some of the Box's sound data in there sometime, it very well might work.

Does MUA's PSP version use the same format as XML2's? Because, a year or so ago, the only part of XML2's PSP characters that I could get working was the sounds. And all I did was insert them into the proper folders.

Also, is it at all possible that the XBox version contains the models for the PSP characters?

One final question, are all of Swordsman's files contained in the PC version? If not, is it possible his files can be extracted from the PSP or XBox version and he can be added to npcstat?

I don't really know, as I don't have the XML2 PSP files. I have to assume they're different, because putting them into the correct folders doesn't work - it causes the game to crash.

No, it does not contain them. I've scanned it all.

Of course not. His files are ONLY in the PSP version, they're not even in the PS2 one. Which leads us back to the main problem.

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Fun-filled fact: the files husim_m.zsm/husim_v.zss contain sounds and voices for... You guessed it right, The Hulk's Comic Mission :D
Voiced by the same guy who does Banner; getting the Hulk's voice via remodulation. Of course.
I haven't scanned all of it yet, but the idea so far is that it takes places on the Omega Base map and the villain seems to be... I don't actually know who it is. The code in the filename says "DB", but the PC version doesn't like to clear-text stuff, so I'll have to rip it out of the PSP or Box versions and check who that actually is.
It's made in the same vein as all others, beginning with a flashback to the characters origins (and it IS funny how Banner and Hulk switch places to trade different opinions on the subject).

So when they next tell you Hulk ain't in... You know you can laugh in their face and say that he was, as we have solid proof :D

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Further Hulk goodness: DB actually stands for Dr. Banner. Judging from the script, it is a rampage mission... NO enemy, just Hulk and a lot of soldiers puny humans.

X_VOICE.zss also features the whole set (of file that should be in it) for him - the leaving-selection-menu battlecries ("Hulk never back down from fight!") and the announcer call. Wowie. All of this feels a lot like the Hulk GOT made, but then was cropped out (badly) of every version. This would also explain why the PC version didn't mind having 26 selectable slots without any hacking :D

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

xml2 psp voices.zip - 0.21MB


Ironman and Colossus XML2 Voices files from PSP version.
No zss files.

Thanks, I'm gonna try using these. I'll get back to you about it soon as I can.
(For reference: the files that MUA stores in the ZSS files are ALL packed into X_VOICE.ZSS in XML2 on every platform, which makes transferring stuff from XML2PC to MUAPC VERY uncomfortable -- but not impossible)

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Hi, I hope that somebody can help me here since is a topic about the sound.

I am using the full version of game extractor, and I want to extrac the sounds from the ZSS/ZSM files of the PC version of MUA. After the extraction and the wav files appear on the "extract" folder it is not posible reproduce them with any sound program  :-\ winamp freezes and windows player said that the format it is not valid. Do I need plugin for hear it or is imposible extract correctly from the zss  ???

Thanks.


Read my project notes carefully :D They aren't real WAVs. If you append a WAV header to them (so that WinAMP or WMP would recognize them as actual WAVs), they will give out a seemingly random burst of static. Heavy manipulation revealed to me that they are encoded in an unidentifiable form of ADPCM compression for which I can find no decompressor or player. So far.

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

I guess I ll have to figure out another way to rip them  :P. Thanks for the reply.  8)

Well, after read a lot of times your first post and a lot of tries and google search a figured this, I know that have the sound samples on wav it is probably not useful for moding, to be honest I dont know about that I just wanted the sounds  for one of my personal projects.

Here is how I converted the sound to wav

Download this program http://www.xentec.be/download/download.html Vox Studio

1.- Extract the pseudo wavs with Game Extractor from the ZSM/ZSS files.
2.- Execute Vox Studio and go to Convert ->Batch Convert....
3.- Put the following info as I show.



4.- Test on WMP.

Again I dont know if this is useful for what you do :S but if helps on something here it is.





Oh, thank you, thank you, thank you, thank you! I can't say how grateful I am for this! This will allow me to convert the PSP sounds into the PC version's format and they will finally be usable!
(It's official - you're my hero!)

Crimson Dynamo says:
In Soviet Russia, the games mod YOU!

If anyone needs any art for icons or portraits, feel  free to ask, I'll see what I can do.

Thanks , If the Pc To PsP can be make, i will convert Colossus and Mk voices :)