STEP 1: File Extraction
· Go to
http://oasis.xentax.com/ and download the latest version of Noesis.
· Copy the entire data folder for PSO2 into another folder on your HD (c:\data is easiest for the next step)
· Open a command window and go to the folder you copied the files to.
· Type the following without quotes. “rename *. *.cpk”
· Open Noesis, browse to the folder where you copied the files to (Note: This will take minutes to complete because of how many files make up PSO2, your computer has NOT frozen.) Sort by largest to smallest.
· Double click on the largest file and go smaller and smaller. You should eventually find one that says that nothing could be viewed but it can be extracted. Allow the program to do so. You’ll have a number of files dumped into a new directory. If they’re .adx files we’re in business. You can either move to the next step, or try every file in the PSO2 data folder before proceeding. (Using something like auto hot key will help with the process but don’t look to me for instructions on how to do it.) NOTE – The rename above is important. The files won’t extract otherwise
STEP 2: Convert from HCA to WAV
· Download HCA2WAV from
http://www.sendspace.com/file/ikobo5
· Place both files into the folder that you extracted and run the .bat file. This will convert all of the files automatically.
STEP 3: Reconstructing a Track for external playback
NOTE: Much of this data was assembled during the alphas when the encryption was not HCA, but rather ADX which had not changed since Phantasy Star Universe. This change was made as of the original Character Creator release. The method still works from my testing.
So how do we rebuild the files? That’s the main trick of things. You can’t just simply play each track in turn and get what you’re looking for. (There is an exception however, any file that does not need extraction from a CPK will play straight through. However this mostly contains music from discs you find in game and some of the incidental music from the story quests.)
What will throw most people off is the fact that you need to play the next piece of music as the previous file is in the process of ending. Please see the video below to help you understand what that looks like.
As you can see each piece of the track begins slightly before the previous one ends hence why you have to alternate between two tracks. The end of the previous file would get cut off otherwise. This is the basis of what will trip most people up when reconstructing the files. You need a good ear to listen for the proper timing, but once you understand this, you’re pretty much good to go.
As for what tools to use when reconstructing the files, there are many ways to do it, however I’m looking back towards the old Commodore 64 days. If you know what Scream/Impulse/Schism Tracker or Modplug is, or if you’ve ever seen a .mod, .s3m, .xm, or .it file’s inner workings before you’ll be right at home. Back then, in order to create music tracks they needed to be sequenced out of samples. It’s the same concept as a midi file, except using samples you could get much higher quality audio. The basic principal of reconstructing the files is the same, laying samples in a pattern, except you’ll never change the pitch of the sample (C5 will always be what you use since Sega already did that step when composing it in CRI Atom Craft.)
So you’ve got a folder of tracks, but there are a few more things to do. Let’s take a look at the file structure. Each of the files here could be considered a sample.
While the files may not make sense to the untrained eye, the files themselves indicate how the tracks need to be played.
FB_MAIN_M1_8_T145_B06
FB = Track Name
MAIN = Possibly Layer Name
M1 = Pattern #
8 = Sample #
T145 = Tempo
B06 is unknown at this time, could be related to volume control.
So this file represents the track Forest Battle on the first layer in pattern 1 and sample 8. The song should be playing at a tempo of 145. Knowing this let’s open up OpenMPT and set up the song. We’ll set up the Tempo and since we know that one sample starts slightly before the previous we’ll set up a Battle 1 and Battle 2 channel. I’d also recommend setting Sample Volume to 192 or you’ll have to turn your speakers up wherever you play the track.
We need to set up one more thing or we’re going to run into problems down the road. Click on Song Properties… and change the type to OpenMPT MPTM and the Mix Levels to OpenMPT 1.17RC3.
From here you import the samples, place the samples 24 ticks apart from each other (or whatever sounds right, 24 is the example for Forest) building the file up and up until you reach the end.
In its current configuration you should end up with about 21 patterns that make up the music of FB. However something’s off. It feels like something is missing when it’s played back doesn’t it?
Head back to the general tab and add 2 more instruments called RH 1 and RH 2 and follow the same process as before for placing the RH samples in. Once completed you’ll have the full track completed.
Transitions are a little trickier because they don’t all follow the same timing and technically can fit anywhere in the track because of how ADX2 works. Personally what I do is I line up a sample before the transition sample by listening for which one flows the most naturally into it and make those two samples their own pattern. I also give the transition track its own Channel to prevent confusion. Here’s an example. Eventually you’ll be able to work through the data and have the full track together with battle and normal music and transitions, similarly to how the ogg files for PSOBB were laid out and once that’s done you’ll be all set for a track that transitions.
Step 4 Replacing with your own music.
Now that you know how the track is laid out and have a working model to work with you can begin to overwrite the song. However we need something to convert from WAV to HCA and then a way to pack everything together in a cpk. This is a dead stop on replacing music until then.
The basic idea however if this works the way it's supposed to is you'll need to write each individual HCA track over keeping the same timings for each track (it may be possible to make it longer, but if that's stored within the PSO2 exe we'll likely never be able to get around this. and then pack up the cpk with the appropriate file name for the area under the packed HCA tab. When we finally do get a WAV to HCA converter I'll update this guide with an example.
Connect With Us