Jump to content


Photo

Suggestions For Sc2 Soundtracks


  • Please log in to reply
15 replies to this topic

#1 selyb

selyb

    X-S Member

  • Members
  • Pip
  • 73 posts

Posted 29 October 2005 - 02:44 PM

I estimate i can fit approx. 12 music afs's on one disc and have one xbe related to each one and a nice unleashx to pick which soundtrack
Now I need suggestions for soundtracks
I think one for Linkin Park is in order biggrin.gif
if anyone has some good techno suggestions i'd love to hear smile.gif
I've done one mixed already but i need to revise it

If anyone has mapped out the filenames to the levels please reply

also, I changed the sound that comes right after you pick your players (where you can press a button to have them say something) but it didnt play the sound i replaced it with

#2 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 29 October 2005 - 10:16 PM

QUOTE(selyb @ Oct 29 2005, 03:55 PM)
I estimate i can fit approx. 12 music afs's on one disc and have one xbe related to each one and a nice unleashx to pick which soundtrack
Now I need suggestions for soundtracks
I think one for Linkin Park is in order  biggrin.gif
if anyone has some good techno suggestions i'd love to hear smile.gif
I've done one mixed already but i need to revise it

If anyone has mapped out the filenames to the levels please reply

also, I changed the sound that comes right after you pick your players (where you can press a button to have them say something) but it didnt play the sound i replaced it with

View Post



This may help:
What you will need:
ADX Converter
AFS Explorer
Ability to FTP to your Xbox
bgm.afs

Google AFS Explorer.

1: Make sure that your music file is a .wav (go to http://www.goldwave.com/
if you need to convert to .wav or edit the song).

2: Convert the .wav file to adx with ADX Converter. Check all the boxes, put 44100 hz and stereo.

3: Open AFS Explorer and go into bfm.afs.

4: a) Select the music file you wish to replace and import your adx file.
cool.gif if a box pops up click YES. If not close adx explorer (it automatically saves once you close) and go to step 10.

5: If you clicked on yes then click on Advanced then "Modify Reserved Space..." (or on the hammer icon).

6: A new window should pop up. Click on "Regenerate AFS!", and save bgm.afs in a DIFFERENT folder or rename it to something else. (remember to rename it bgm.afs before u send it to your xbox).

7: Close everything then open AFS Explorer again and load the newly saved bgm.afs.

8: Find the file that you wanted to replace again.

9: Do step 4 part a.

10: Transfer the bgm.afs back to your xbox and your done. w00t.gif



------------------------
gbgm002.adx - Character Select Menu
gbgm003.adx - Collection History

gbgm006_9.adx - After "You Win!!"
gbgm009.adx - "A New Challenger Comes!!"

gbgm017.adx - Demo Theatre > Ending (arcade version)

sbgm001.adx - Cassandra Stage
sbgm002.adx - Talim Windmill Stage
sbgm003.adx - Underground Astaroth Stage
sbgm004.adx - Spawn (Cathedral) Stage
sbgm005.adx - Taki Stage
sbgm006.adx - Necrid Desolate Egyptian Thunder Stage
sbgm007.adx - Yungsung Stage
sbgm008.adx - Library
sbgm009.adx - Cervantes (ship) Stage
sbgm010_05.afx - Kilik labrynth Stages

sbgm00b_1.adx - Arcade Mode Infernos Level (1)
sbgm00b_2.adx - Arcade Mode Infernos Level (2)
sbgm00b_3.adx - Arcade Mode Infernos Level (3)

sbgm00c.adx - Ying/Yang Stages
sbgm00d.adx - Weaponmaster Proving Grounds (bars/no bars)
sbgm00e.adx - Voldo Stages

sbgm011.adx - Destined Battle music (1)
sbgm013.adx - Destined Battle music (2)
sbgm014.adx - Destined Battle music (3)

sbgm00f_06.adx - Sand/Fire/Ice Stages

gbgm031 - Raphs Exibition music


*****************
tuto by OFFMATIC
*****************

This was a cut and paste from Soul Explorer Registration required for most things [free]

Edited by drewcat, 29 October 2005 - 10:19 PM.


#3 selyb

selyb

    X-S Member

  • Members
  • Pip
  • 73 posts

Posted 30 October 2005 - 01:51 PM

KICKA$$

#4 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 01 November 2005 - 02:11 AM

Well that site was hacked. So here are the links to all the work that was there.
***************************************************************
This is A through M of other people's skins I uploaded at SX. Each file has a shitty screenshot taken in GX or nice screens if the author included them. I have attempted to identify the authors. Each file also tells which skin it replaces. There may be a few authors names wrong since I never seem to sleep enough so no offense is intended. I would like to thank all the authors of these skins.

The link is to rapidshare. No account is needed to download, however there is a one file d/l per hour to non-members. No software to install etc - just click free, wait for the countdown [javascript is required] and download.SC2 Skin Pack one
The password for the rar is "sydbarrett" without the quotes.
--------------------------------------------------------------------------------------------------
Here is m through z :SC2 Skin Pack two
The password for the rar is "sydbarrett" without the quotes.
--------------------------------------------------------------------------------------------------
These are the skins that others have uploaded at Soul Explorer. Some or most of these are without author names or screenshots. None have instructions of where to place them. SC2 Skinpack of other people's uploads
Password is "sydbarrett" without the quotes.
--------------------------------------------------------------------------------------------------

Here are all but a few of the skins I've created: My SC2 skins
Password is "sydbarrett" without the quotes.
--------------------------------------------------------------------------------------------------

Here are the tools I've collected and some are needed to use the above skinspacks. SC2 Tools
Password is "sydbarrett" without the quotes.

The above works were posted on a forum that had permission from NAMCO to modify Soul Calibur 2. Enjoy.

Edited by drewcat, 01 November 2005 - 02:15 AM.


#5 BILLS

BILLS

    X-S Senior Member

  • Members
  • PipPip
  • 264 posts
  • Location:NY
  • Xbox Version:v1.0
  • 360 version:unknown

Posted 01 November 2005 - 03:17 AM

drew youve come so far....

I feel out of place without these legal resources out on the net...the permission we got from namco let us do pretty much wahtever we wanted with the game...

Im not interested in starting another open forum jsut to be hacekd at the momemnt though.

#6 selyb

selyb

    X-S Member

  • Members
  • Pip
  • 73 posts

Posted 01 November 2005 - 05:59 AM

:'-(
i only had the pleasure of browsing the forums once for about an hour

#7 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 01 November 2005 - 06:20 AM

QUOTE(selyb @ Nov 1 2005, 07:10 AM)
:'-(
i only had the pleasure of browsing the forums once for about an hour

View Post



I saw you had joined and then an enemy of the admin hacked it. Thant's why I posted all the downloads above. Sorry you weren't able to see the forums more.


#8 selyb

selyb

    X-S Member

  • Members
  • Pip
  • 73 posts

Posted 03 November 2005 - 06:00 PM

drew: when i replaced the music in bgm.afs, it no longer loops in the battle. is this normal?

also, do you know where the sound effects are located?

#9 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 04 November 2005 - 05:53 AM

QUOTE(selyb @ Nov 3 2005, 06:07 PM)
drew: when i replaced the music in bgm.afs, it no longer loops in the battle. is this normal?

also, do you know where the sound effects are located?

View Post



I have never changed any of the sound files myself so I don't know why the music does not loop. Sorry for that. I am sure someone else knows that answer and hopefully they feel compelled to post.

The sound effects are Located in each character's pkg file. For example, Talim is located in Root.olk>File5.olk>File593.pkg>File14.pkg>File2.mmx

The sounds of the characters moving is Root.olk>File5.olk>File593.pkg>File13.mmx

I don't have the sc2 tool mentioned in the next copy and paste. Hope the google cache repost helps some.

******************************************
Hey,

Not sure if anyone is interested in this but I've been working on mmx files a bit and can extract basic audio from them.

I've still got a lot to work out a lot of the format and this tool is by no means fool-proof. The mmx file format seems to be a wrapper for another file format - XHD. This tool will only work on mmxs that contain just 1 XHD (which is most of them).

First off, you need to install this codec

Next, download sc2tools (see attachment)

It's command-line I'm afraid. Usage is:
xmmx file.mmx output

This will create a series of files like output0.wav, output1.wav etc. Once you've installed the codec, these should be playable in most windows media apps.

The codec will also allow you (with the right software) the create XBOX ADPCM audio which at some point in the future we'll be able to reinsert back into SC2 (hopefully)

If anyone has done any better work on MMXs please let me know so I can stop wasting my time smile.gif. Also, I'd be grateful if someone could host the app for me - it's only tiny but the site I'm hosting it on restricts my b/w severely... every byte counts smile.gif


ph34r.gif

Edit: link is down ATM rolleyes.gif - it'll be back later... and should be able to handle mmxs that contain multiple XHDs...
Edit2: It's back, and should now handle mmxs with multiple XHDs.

Attached File(s)
Attached File sc2tools.rar ( Number of downloads: 29 )
Top
User is offlinePM
Quote Post
Psyko
post Aug 17 2004, 03:10 AM
Post #2


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




Heh, I'll assume from the deafening silence that no-one has any interest in being able to change SFX or it's already been done smile.gif

I'll work on something else instead cool.gif
Top
User is offlinePM
Quote Post
T!dus_Beta
post Aug 17 2004, 03:18 AM
Post #3


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




na please carry on, please figure out how to re-insert the sound!
Top
User is offlinePM
Quote Post
OOFMATIC
post Aug 17 2004, 04:24 AM
Post #4


Supreme Victory
***

Group: Members
Posts: 146
Joined: 10-May 04
From: Toronto, Canada
Member No.: 2,584




man this is awesome! hopefully i'll be able to record my own voice and insert it back into a characters :shifty:
Top
User is offlinePMEmail Poster
Quote Post
T!dus_Beta
post Aug 17 2004, 04:39 AM
Post #5


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




please dont oof! lmao only jokin! neway, yeah figure a way how to re-insert back in and your in business m8!
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 11:37 AM
Post #6


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




whoa, i'm sorry to admit that when i first saw this topic, i passed it by thinking it was another n00b asking why he can't extract sound clips from mmx files...

i'm impressed to see someone taking an initiative here.

i've spent many hours looking through mmx files and identifying headers and variables. i'd love to see what you've found. any chance of sharing your source code?
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 01:04 PM
Post #7


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




RAH!

OK, that was me celebrating. It's not a lot but I've managed to replace the announcer saying 'Mitsurugi' with the Windows 'ding' biggrin.gif

There's still a lot of work to do - I still don't understand BIG chunks of the header info... probably even 90% of it but I know the important bits wink.gif

Before you go any further - this is NOT for the faint-hearted. There's a lot of things to do, and all my tools are command-line only (for the time being).

First off, you have to install the XBOX ADPCM codec from here

The codec basically means all the hard work is done for us - we don't need to work out the actual audio format when we already have a tool to do it. I've also been using amWave to convert between Windows WAV and XBOX ADPCM WAVs.

Next, we need XMMX, CMMX and SC2PACK from here

OK... so far so good.

At the moment, OLKexplorer doesn't allow PKG re-assembling so we must use sc2pack for this. First off, export your chosen character PKG from OLKexplorer. Make sure you put xmmx, cmmx and sc2pack in the same place you save the pkg. Next, open up a command prompt and change into the same directory as your work files. To unpack the PKG type this:
sc2pack u character.pkg foobar

This will unpack characater.pkg into a series of files starting with the name 'foobar'. Next, we want to unpack an MMX. In our example, the 'announcer' would be 'foobar-002.mmx' so we type:
xmmx foobar-002.mmx meow

This creates a bunch more files with the prefix 'meow', most of which are WAVs and if you installed the codec properly you can play the in Windows Media Player (note that some of these may be blank WAVs... most MMXs seem to have 'blank' WAVs at the end etc)

OK, next find and replace the WAVs you want to change. You'll need to make sure they're saved as XBOX ADPCM WAVs - I strongly suggest AmWave as it's really easy to use. Once you've overwritten the necessary WAVs we need to put everything back together. For this we type:
cmmx meow foobar-002.mmx

This recreates our mmx with our new WAVs (we hope). Next:
sc2pack p foobar characternew.pkg

This repacks everything back into a new PKG which we can hopefully re-import in OLKExplorer.

I warned you it wasn't trivial wink.gif It'll be easier when OLKexplorer allows PKG reconstruction - then you can miss out the sc2pack steps.

Also - there are many limitations. I've only experimented with 1 mmx, and I'm sure there are problems with some of the assumptions I make in xmmx / cmmx (e.g. boundary alignment etc). Also, xmmx will extract WAVs from any mmx (I hope) - even those with multiple XHDs - cmmx can only reconstruct those with 1 XHD (though this is most/all sound effects). You'll need to experiment with mono/stereo and kHz - the files I've dealt with were 20.000 kHz and mono but there are many kHz variations in the mmxs I've looked at so I'm sure it'll cope OK with most things you can throw at it...

If you're feeling brave, feel free to experiment and let me know the results.


I may release source at a later date but for the time being it's a clutter and I have trouble reading it myself cool.gif (comes from trying to use C like PHP smile.gif ). I will try and post later everything I've discovered about mmx and xhds.

ph34r.gif
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 01:19 PM
Post #8


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




where did you manage to find the XBOX ADPCM codec? is it part of the xdk?

i can only assume that the gamecube and ps2 "mmg" and "mmp" files use another codec based on their respective system hardware... any chance of digging up a codec for them as well? the formats are fairly similar between the mm* files and if we had a way of extracting audio from gamecube and ps2 it wouldn't be very hard to import link and heihachi's audio tracks into the xbox version of the game.
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 01:37 PM
Post #9


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




I'd been trying to crack the audio format of another game when I started looking at the mmx/xhd file format. The audio format has particular tell-tale signs which gave me the idea it was actually the same format I was dealing with (except in the other game there are *no* headers, just audio). I'd also been looking around various Xbox dev sites trying to find out anything I could about the xbox audio format.

I'm sure this codec is *not* part of the XDK - for one thing it's hosted by xbox-scene and they don't allow anything from XDK, and I've seen it around on a host of sites now - if it was XDK, MS would've busted them. Given that the audio is ADPCM, I suspect it's very similar to the MS ADPCM codec anyway. I've also heard that Xbox audio is based on WM Encoder 7 - if so it would be easy for those with an understanding of codecs to knock up something.

Unfortunately, I doubt there a similar codec for GC/PS2. The mmg/mmp files are invariably just containers for the relevant audio format on GC/PS2 but it'll be another job to work the format out. Unfortunately I don't own PS2 version and don't have the means to make an image of my GC disk so I can't investigate further. Shame really, as I've encountered at least 1 audio format before commonly used on PSX/PS2. If you could post the first 512 bytes of an mmp (hex editor view) I may be able to ID it?
Top
User is offlinePM
Quote Post
T!dus_Beta
post Aug 17 2004, 01:55 PM
Post #10


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




damn theres 2 good kick-ass tuts right there, this should be pinned!
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 02:52 PM
Post #11


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




here's cassandra's first audio file from all three platforms
Attached File cassandra.rar ( Number of downloads: 14 )


it contains:
CODE
File662.mmg
File662.mmp
File662.mmx


hopefully it'll be usefull
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 03:30 PM
Post #12


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




OK, here we go. ph34r.gif
This is pretty much all I know about mmx and XHD file formats. You'll have to bear with me as documentation is not my strong point cool.gif and there are likely to be mistakes.

First of, mmx. This itself is a pretty basic format, not dissimilar to OLK.

DWORD stringID; // this is "0x6d 0x6d 0x78 0x00" = mmx
DWORD endofdata; //this is where the end of data is - this may match filesize but mmxs are normally within PKGs and therefore padded to a multiple of 128bytes
8 * BYTE unknown; //This may be 2 DWORD, 4 WORD or any combination of. As yet undetermined
DWORD unknown; //This always seems to be 256 (or 0x100)
DWORD numElements; //This is number of XHDs within the mmx

Then there and 'numElements * ' the following:
DWORD offset; //offset within the mmx of the file
DWORD headsize; // this is the size of the header within the XHD
DWORD dataoffset; //offset within the mmx of the data within the XHD. This is important as data does not necessarily follow directly after the header due to padding.
DWORD sizeofdata; //size of data chunk within XHD
N * BYTE padding; //there then follows a bunch of 0x0 padding until offset[0]

And that's mmx. I suspect mmc/mmp are very similar (endian/sound format issues permitting).

Next off, XHDs. Note that I guess it's possible other files could be held within the mmx format but as yet I've only seen XHDs and the format of mmx is tied to the format of XHD so this is unlikely...
There are *a lot* of unknowns within the XHD format. Also, did I mention the contain 2 sets of headers per audio sample? Yeah, this is where things get confusing.

DWORD stringID; // ID of XHD is '0x58 0x48 0x44 0x70' = "XHDp"
WORD unknown; //Always seems to be 0x0101
WORD unknown; // No idea - quite often 0x0000 but not always
WORD numElements; //Number of audio samples in the file
6 * BYTE unknown; //again, bunch of data. might be 3*WORD
DWORD header1offset; //relative offset of first set of headers (relative to XHD)
DWORD header1size; //size of first header chunk. This should be equal to 88*numElements
DWORD header2offset; //relative offset of second set of headers (relative to XHD). Should be header1offset+header1size as seems to follow on directly from header1
DWORD header2size; //size of second header chunk. Should be 276*numElements.

And that's the XHD header itself done. Next we have 'header1'. This is 88 bytes long. The first byte is 0xFF. There are a lot of things very similar between these headers (i.e. 90%+ is identical between MMXs) but I can't tell you anything about them. Some values are repeated regularly, e.g. fa 43, 80 3f, a0 40. I guess this is game specific info but I really don't know.
After that we have 'header2' which is 276 bytes. Most of this is zeroes and most of this I have no idea what it does. However, the first 28 bytes are all that seems to be important:
WORD unk1; //not sure - but I think this is 'ID' of codec to use. See later. Always 0x0069
WORD unk2; // unsure, but see later
DWORD freq; // frequency of sample, but see later
DWORD freqB; // unsure, relates to freq but we don't need to know, see later
WORD unk3;
WORD unk4;
WORD unk5;
WORD unk6; //3-6 contain info like 4bits, stero/mono etc
DWORD reloffset; //relative offset from dataoffset[x] in mmx
DWORD size; //size of audio

Right. First 20 bytes are actually the biggest clue to this format. header2 in an example mmx might be:
69 00 01 00 20 4e 00 00 f2 2b 00 00 24 00 04 00 02 00 40 00 24 2d 00 00 f4 2f 00 00

OK. For those that played with the tools I described earlier, look at one of your own WAVs that has been encoded to XBOX ADPCM 4bit. Specifically look at offset 0x14:
69 00 01 00 22 56 00 00 73 30 00 00 24 00 04 00 02 00 40 00

The only differences are freq and freqB. Basically, if we update from our own WAV we can just rip these 20 bytes and put them in the XHD... and it even sorts our freq out for us. After that all we need to calculate is the reloffset and size.

That's pretty much all I know. For ref, my tools retain header1/header2 info all unknowns in header1/header2 but just overwrite the first 28bytes of header2 accordingly.

I hope this helps - but remember, it's not autoritative and there may be mistakes smile.gif

ph34r.gif

What I'd *really* like to see, after the next OLKexplorer with PKG support and the ability to view VXTs is an OLKExplorer with mmx/xhd support so we can expand mmxs to show XHDs and expand XHDs to shows WAVs. Also, exporting audio is as simple as slapping the right WAV header on it (assuming people have the XBOX ADPCM codec installed) so maybe getting WAVs to play without exporting them will be easy for a better programmer? smile.gif
Top
User is offlinePM
Quote Post
pkScary
post Aug 17 2004, 03:37 PM
Post #13


Advanced Member
***

Group: Mega Member
Posts: 194
Joined: 26-April 03
Member No.: 95




hey Pysko...this is great stuff. Thanks for this information, it's really helpful.
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 03:45 PM
Post #14


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




Hey... long time lurker and only a recent(ish) poster. I'm glad to be able to contribute...

ph34r.gif
Top
User is offlinePM
Quote Post
Job Van Dam
post Aug 17 2004, 03:47 PM
Post #15


Member
**

Group: Members
Posts: 86
Joined: 15-May 04
Member No.: 2,635




QUOTE(OOFMATIC @ Aug 17 2004, 04:24 AM)
man this is awesome! hopefully i'll be able to record my own voice and insert it back into a characters :shifty:
*

Are you kidding me?!? For the love of God you can't release this tool!!

If you truly care for the human race and can't stand by while innocents are being subjected to inhumane treatment you will not release this tool!

Think of the children! Won't someone please think of the


#10 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 04 November 2005 - 06:05 AM

QUOTE(selyb @ Nov 3 2005, 06:07 PM)
drew: when i replaced the music in bgm.afs, it no longer loops in the battle. is this normal?

also, do you know where the sound effects are located?

View Post



I have never changed any of the sound files myself so I don't know why the music does not loop. Sorry for that. I am sure someone else knows that answer and hopefully they feel compelled to post.

The sound effects are Located in each character's pkg file. For example, Talim is located in Root.olk>File5.olk>File593.pkg>File14.pkg>File2.mmx

The sounds of the characters moving is Root.olk>File5.olk>File593.pkg>File13.mmx

I don't have the sc2 tool mentioned in the next copy and paste. Hope the google cache repost helps some.

******************************************
Hey,

Not sure if anyone is interested in this but I've been working on mmx files a bit and can extract basic audio from them.

I've still got a lot to work out a lot of the format and this tool is by no means fool-proof. The mmx file format seems to be a wrapper for another file format - XHD. This tool will only work on mmxs that contain just 1 XHD (which is most of them).

First off, you need to install this codec

Next, download sc2tools (see attachment)

It's command-line I'm afraid. Usage is:
xmmx file.mmx output

This will create a series of files like output0.wav, output1.wav etc. Once you've installed the codec, these should be playable in most windows media apps.

The codec will also allow you (with the right software) the create XBOX ADPCM audio which at some point in the future we'll be able to reinsert back into SC2 (hopefully)

If anyone has done any better work on MMXs please let me know so I can stop wasting my time smile.gif. Also, I'd be grateful if someone could host the app for me - it's only tiny but the site I'm hosting it on restricts my b/w severely... every byte counts smile.gif


ph34r.gif

Edit: link is down ATM rolleyes.gif - it'll be back later... and should be able to handle mmxs that contain multiple XHDs...
Edit2: It's back, and should now handle mmxs with multiple XHDs.

Attached File(s)
Attached File sc2tools.rar ( Number of downloads: 29 )
Top
User is offlinePM
Quote Post
Psyko
post Aug 17 2004, 03:10 AM
Post #2


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




Heh, I'll assume from the deafening silence that no-one has any interest in being able to change SFX or it's already been done smile.gif

I'll work on something else instead cool.gif
Top
User is offlinePM
Quote Post
T!dus_Beta
post Aug 17 2004, 03:18 AM
Post #3


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




na please carry on, please figure out how to re-insert the sound!
Top
User is offlinePM
Quote Post
OOFMATIC
post Aug 17 2004, 04:24 AM
Post #4


Supreme Victory
***

Group: Members
Posts: 146
Joined: 10-May 04
From: Toronto, Canada
Member No.: 2,584




man this is awesome! hopefully i'll be able to record my own voice and insert it back into a characters :shifty:
Top
User is offlinePMEmail Poster
Quote Post
T!dus_Beta
post Aug 17 2004, 04:39 AM
Post #5


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




please dont oof! lmao only jokin! neway, yeah figure a way how to re-insert back in and your in business m8!
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 11:37 AM
Post #6


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




whoa, i'm sorry to admit that when i first saw this topic, i passed it by thinking it was another n00b asking why he can't extract sound clips from mmx files...

i'm impressed to see someone taking an initiative here.

i've spent many hours looking through mmx files and identifying headers and variables. i'd love to see what you've found. any chance of sharing your source code?
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 01:04 PM
Post #7


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




RAH!

OK, that was me celebrating. It's not a lot but I've managed to replace the announcer saying 'Mitsurugi' with the Windows 'ding' biggrin.gif

There's still a lot of work to do - I still don't understand BIG chunks of the header info... probably even 90% of it but I know the important bits wink.gif

Before you go any further - this is NOT for the faint-hearted. There's a lot of things to do, and all my tools are command-line only (for the time being).

First off, you have to install the XBOX ADPCM codec from here

The codec basically means all the hard work is done for us - we don't need to work out the actual audio format when we already have a tool to do it. I've also been using amWave to convert between Windows WAV and XBOX ADPCM WAVs.

Next, we need XMMX, CMMX and SC2PACK from here

OK... so far so good.

At the moment, OLKexplorer doesn't allow PKG re-assembling so we must use sc2pack for this. First off, export your chosen character PKG from OLKexplorer. Make sure you put xmmx, cmmx and sc2pack in the same place you save the pkg. Next, open up a command prompt and change into the same directory as your work files. To unpack the PKG type this:
sc2pack u character.pkg foobar

This will unpack characater.pkg into a series of files starting with the name 'foobar'. Next, we want to unpack an MMX. In our example, the 'announcer' would be 'foobar-002.mmx' so we type:
xmmx foobar-002.mmx meow

This creates a bunch more files with the prefix 'meow', most of which are WAVs and if you installed the codec properly you can play the in Windows Media Player (note that some of these may be blank WAVs... most MMXs seem to have 'blank' WAVs at the end etc)

OK, next find and replace the WAVs you want to change. You'll need to make sure they're saved as XBOX ADPCM WAVs - I strongly suggest AmWave as it's really easy to use. Once you've overwritten the necessary WAVs we need to put everything back together. For this we type:
cmmx meow foobar-002.mmx

This recreates our mmx with our new WAVs (we hope). Next:
sc2pack p foobar characternew.pkg

This repacks everything back into a new PKG which we can hopefully re-import in OLKExplorer.

I warned you it wasn't trivial wink.gif It'll be easier when OLKexplorer allows PKG reconstruction - then you can miss out the sc2pack steps.

Also - there are many limitations. I've only experimented with 1 mmx, and I'm sure there are problems with some of the assumptions I make in xmmx / cmmx (e.g. boundary alignment etc). Also, xmmx will extract WAVs from any mmx (I hope) - even those with multiple XHDs - cmmx can only reconstruct those with 1 XHD (though this is most/all sound effects). You'll need to experiment with mono/stereo and kHz - the files I've dealt with were 20.000 kHz and mono but there are many kHz variations in the mmxs I've looked at so I'm sure it'll cope OK with most things you can throw at it...

If you're feeling brave, feel free to experiment and let me know the results.


I may release source at a later date but for the time being it's a clutter and I have trouble reading it myself cool.gif (comes from trying to use C like PHP smile.gif ). I will try and post later everything I've discovered about mmx and xhds.

ph34r.gif
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 01:19 PM
Post #8


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




where did you manage to find the XBOX ADPCM codec? is it part of the xdk?

i can only assume that the gamecube and ps2 "mmg" and "mmp" files use another codec based on their respective system hardware... any chance of digging up a codec for them as well? the formats are fairly similar between the mm* files and if we had a way of extracting audio from gamecube and ps2 it wouldn't be very hard to import link and heihachi's audio tracks into the xbox version of the game.
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 01:37 PM
Post #9


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




I'd been trying to crack the audio format of another game when I started looking at the mmx/xhd file format. The audio format has particular tell-tale signs which gave me the idea it was actually the same format I was dealing with (except in the other game there are *no* headers, just audio). I'd also been looking around various Xbox dev sites trying to find out anything I could about the xbox audio format.

I'm sure this codec is *not* part of the XDK - for one thing it's hosted by xbox-scene and they don't allow anything from XDK, and I've seen it around on a host of sites now - if it was XDK, MS would've busted them. Given that the audio is ADPCM, I suspect it's very similar to the MS ADPCM codec anyway. I've also heard that Xbox audio is based on WM Encoder 7 - if so it would be easy for those with an understanding of codecs to knock up something.

Unfortunately, I doubt there a similar codec for GC/PS2. The mmg/mmp files are invariably just containers for the relevant audio format on GC/PS2 but it'll be another job to work the format out. Unfortunately I don't own PS2 version and don't have the means to make an image of my GC disk so I can't investigate further. Shame really, as I've encountered at least 1 audio format before commonly used on PSX/PS2. If you could post the first 512 bytes of an mmp (hex editor view) I may be able to ID it?
Top
User is offlinePM
Quote Post
T!dus_Beta
post Aug 17 2004, 01:55 PM
Post #10


I Need to get out more!
***

Group: Members
Posts: 131
Joined: 6-August 04
Member No.: 3,595




damn theres 2 good kick-ass tuts right there, this should be pinned!
Top
User is offlinePM
Quote Post
cypher35
post Aug 17 2004, 02:52 PM
Post #11


The all singing, all dancing crap of the world...
*******

Group: Admin
Posts: 2,028
Joined: 4-April 03
From: Minnesota, USA
Member No.: 1




here's cassandra's first audio file from all three platforms
Attached File cassandra.rar ( Number of downloads: 14 )


it contains:
CODE
File662.mmg
File662.mmp
File662.mmx


hopefully it'll be usefull
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 03:30 PM
Post #12


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




OK, here we go. ph34r.gif
This is pretty much all I know about mmx and XHD file formats. You'll have to bear with me as documentation is not my strong point cool.gif and there are likely to be mistakes.

First of, mmx. This itself is a pretty basic format, not dissimilar to OLK.

DWORD stringID; // this is "0x6d 0x6d 0x78 0x00" = mmx
DWORD endofdata; //this is where the end of data is - this may match filesize but mmxs are normally within PKGs and therefore padded to a multiple of 128bytes
8 * BYTE unknown; //This may be 2 DWORD, 4 WORD or any combination of. As yet undetermined
DWORD unknown; //This always seems to be 256 (or 0x100)
DWORD numElements; //This is number of XHDs within the mmx

Then there and 'numElements * ' the following:
DWORD offset; //offset within the mmx of the file
DWORD headsize; // this is the size of the header within the XHD
DWORD dataoffset; //offset within the mmx of the data within the XHD. This is important as data does not necessarily follow directly after the header due to padding.
DWORD sizeofdata; //size of data chunk within XHD
N * BYTE padding; //there then follows a bunch of 0x0 padding until offset[0]

And that's mmx. I suspect mmc/mmp are very similar (endian/sound format issues permitting).

Next off, XHDs. Note that I guess it's possible other files could be held within the mmx format but as yet I've only seen XHDs and the format of mmx is tied to the format of XHD so this is unlikely...
There are *a lot* of unknowns within the XHD format. Also, did I mention the contain 2 sets of headers per audio sample? Yeah, this is where things get confusing.

DWORD stringID; // ID of XHD is '0x58 0x48 0x44 0x70' = "XHDp"
WORD unknown; //Always seems to be 0x0101
WORD unknown; // No idea - quite often 0x0000 but not always
WORD numElements; //Number of audio samples in the file
6 * BYTE unknown; //again, bunch of data. might be 3*WORD
DWORD header1offset; //relative offset of first set of headers (relative to XHD)
DWORD header1size; //size of first header chunk. This should be equal to 88*numElements
DWORD header2offset; //relative offset of second set of headers (relative to XHD). Should be header1offset+header1size as seems to follow on directly from header1
DWORD header2size; //size of second header chunk. Should be 276*numElements.

And that's the XHD header itself done. Next we have 'header1'. This is 88 bytes long. The first byte is 0xFF. There are a lot of things very similar between these headers (i.e. 90%+ is identical between MMXs) but I can't tell you anything about them. Some values are repeated regularly, e.g. fa 43, 80 3f, a0 40. I guess this is game specific info but I really don't know.
After that we have 'header2' which is 276 bytes. Most of this is zeroes and most of this I have no idea what it does. However, the first 28 bytes are all that seems to be important:
WORD unk1; //not sure - but I think this is 'ID' of codec to use. See later. Always 0x0069
WORD unk2; // unsure, but see later
DWORD freq; // frequency of sample, but see later
DWORD freqB; // unsure, relates to freq but we don't need to know, see later
WORD unk3;
WORD unk4;
WORD unk5;
WORD unk6; //3-6 contain info like 4bits, stero/mono etc
DWORD reloffset; //relative offset from dataoffset[x] in mmx
DWORD size; //size of audio

Right. First 20 bytes are actually the biggest clue to this format. header2 in an example mmx might be:
69 00 01 00 20 4e 00 00 f2 2b 00 00 24 00 04 00 02 00 40 00 24 2d 00 00 f4 2f 00 00

OK. For those that played with the tools I described earlier, look at one of your own WAVs that has been encoded to XBOX ADPCM 4bit. Specifically look at offset 0x14:
69 00 01 00 22 56 00 00 73 30 00 00 24 00 04 00 02 00 40 00

The only differences are freq and freqB. Basically, if we update from our own WAV we can just rip these 20 bytes and put them in the XHD... and it even sorts our freq out for us. After that all we need to calculate is the reloffset and size.

That's pretty much all I know. For ref, my tools retain header1/header2 info all unknowns in header1/header2 but just overwrite the first 28bytes of header2 accordingly.

I hope this helps - but remember, it's not autoritative and there may be mistakes smile.gif

ph34r.gif

What I'd *really* like to see, after the next OLKexplorer with PKG support and the ability to view VXTs is an OLKExplorer with mmx/xhd support so we can expand mmxs to show XHDs and expand XHDs to shows WAVs. Also, exporting audio is as simple as slapping the right WAV header on it (assuming people have the XBOX ADPCM codec installed) so maybe getting WAVs to play without exporting them will be easy for a better programmer? smile.gif
Top
User is offlinePM
Quote Post
pkScary
post Aug 17 2004, 03:37 PM
Post #13


Advanced Member
***

Group: Mega Member
Posts: 194
Joined: 26-April 03
Member No.: 95




hey Pysko...this is great stuff. Thanks for this information, it's really helpful.
Top
User is offlinePMEmail Poster
Quote Post
Psyko
post Aug 17 2004, 03:45 PM
Post #14


Member
**

Group: Mega Member
Posts: 68
Joined: 29-April 04
Member No.: 2,507




Hey... long time lurker and only a recent(ish) poster. I'm glad to be able to contribute...

ph34r.gif
Top
User is offlinePM
Quote Post
Job Van Dam
post Aug 17 2004, 03:47 PM
Post #15


Member
**

Group: Members
Posts: 86
Joined: 15-May 04
Member No.: 2,635




QUOTE(OOFMATIC @ Aug 17 2004, 04:24 AM)
man this is awesome! hopefully i'll be able to record my own voice and insert it back into a characters :shifty:
*

Are you kidding me?!? For the love of God you can't release this tool!!

If you truly care for the human race and can't stand by while innocents are being subjected to inhumane treatment you will not release this tool!

*********************************************************


#11 selyb

selyb

    X-S Member

  • Members
  • Pip
  • 73 posts

Posted 04 November 2005 - 04:35 PM

thanx very very much for the info though smile.gif

that is a huge doublepost

#12 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 31 December 2005 - 10:51 PM

Lag caused that double post! Anyway, I am posting in this old thread because my rapidshare account is expiring and there have been downloads as recent as yesterday. If the above links do not work it is becasuse rapidshare has purged my account. I have re-upped them without an account and the links will be active as long as they are downloaded once in thirty days.

Same password as above "sydbarrett" without the quotes. Rapidshare has changed the free download option to include the typing of some text before the download can begin, so I don't know if cookies have to be on or not. Try and see.

My skins
Skinpack one
Skinpack two
Other people's uploads
SC2 Tools

#13 scvn80

scvn80

    X-S Enthusiast

  • Members
  • 1 posts

Posted 23 May 2008 - 05:03 AM

QUOTE(drewcat @ Dec 31 2005, 11:27 PM) View Post

Lag caused that double post! Anyway, I am posting in this old thread because my rapidshare account is expiring and there have been downloads as recent as yesterday. If the above links do not work it is becasuse rapidshare has purged my account. I have re-upped them without an account and the links will be active as long as they are downloaded once in thirty days.

Same password as above "sydbarrett" without the quotes. Rapidshare has changed the free download option to include the typing of some text before the download can begin, so I don't know if cookies have to be on or not. Try and see.

My skins
Skinpack one
Skinpack two
Other people's uploads
SC2 Tools

All link are dead, please upload again.
Thanks for your help

#14 drewcat

drewcat

    X-S Young Member

  • Members
  • Pip
  • 36 posts
  • Xbox Version:v1.4
  • 360 version:none

Posted 04 June 2008 - 11:10 PM

Don't come here as much so I just saw this. Hope this link helps.


http://gamesource.gr...group/sc2skins/


#15 OOFMATIC

OOFMATIC

    X-S Enthusiast

  • Members
  • 12 posts

Posted 08 July 2008 - 10:22 AM

Reading some of that brings back memories. I still have most of the programs, but I'm missing some, like SC2Tools.

Drewcat do you still have that one? I very much would like to have it again. smile.gif


Edited by OOFMATIC, 08 July 2008 - 10:23 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users