Guide by MK-Zaku III
Ok, here is the beginning of my guide on how to change music from SSBB.
I'll start off with a list of what you'll need.
1.Revolution Dev kit:
sorry dudes, I can't tell you where to get it, try your favorite torrent site
2.Revolution B:
get it from this link:
http://www.hcs64.com/vgm_ripping.html It's on the bottom of the page
*TANKS chaotix000! Without your link, it wouldn't be possible!*
3.Sound file editing software:
I use goldwave, but anything that can convert or produce mono 16 bit pcm/wav files will work
4.SSBB ISO:
again, I can't tell you where to get it, try your favorite torrent site
5.WiiScrubber:
I used verison 1.21. You should probably stick to it as well
6.Music that you want to convert:
It can be any format. I haven't tried really, really long songs, but I'd stick to stuff that's 5 min. or less. The longest song on SSBB is only 3:40 long.
Ok, please know that this is still in development. I am not an experienced Wii dev person or programmer, so don't dare mock me!!!!. I'm also writing this in a manner so anyone can read this and get a basic understanding on how to do it.
A couple of tips before you start:
DON'T modify the original ISO you downloaded. Use a copied file.
If you press up on the command line, it types in the last command entered.
Make sure you have plenty of time.
All of the command lines in pink are single commands, you don't hit enter until after you type the entire thing
All Special notes are in orange.
STEP 1: Before you start, you need to find a few files in the dev kit in order to convert stuffs. Find the following:
DSPADPCM.pdf (it's a small guide on how to use the DSPADPCM utility)
dspadpcm.exe (it's the utility that converts wav files into DSP format)
dspadpcmD.exe (I don't really know what it's for, but I'd keep it in the same directory as the file mentioned above)
dsptool.dll (you need to put this in your system32 folder for an x86 system, if you have a 64bit OS, put it in the appropriate system folder)
dsptoolD.dll (same as above)
STEP 2: After you find those files from the dev kit, make a folder in your HDD root. You don't absolutely have to, but I did it to make it easy. Let's call this new folder "Music_Hax". In Music_Hax, make another folder, I'll call mine "Tools". Put all the files that you found in STEP 1 into the tools folder. The files with the .dll extention need to go into your system32 folder (if you don't know, your system32 folder is in C:\windows\system32). If you have a 64 bit version, it should be the same. Maybe. I don't remember. More on this on the next revision of the guide.
STEP 3: Download Revolution B. This utility repacks your DSP files into BRSTM files. Put all the file into your "tools" folder.
STEP 4: WiiScrubber, you'll need it. Put it in your Music_HAx folder. Don't ask questions, just do it!!!
STEP 5: Make another folder called "Original_Music". This is where you are going to extract ALL of the brawl music files. It's a very, very long process.
STEP 6: Open up your SSBB Image with WiiScrubber. Click on Partition 2- Data, then scroll down and click on sound, and then click on strm. ALL those strm files start with a letter, and have two numbers after the letter. The letter determines what music group it belongs to. Each game/level has a letter assigned to it. Mother 3 songs start with a K, and all the victory themes start with a Z. Know that you have to extract ALL of them. Why? Well, the only way I know which song is which is to listen to them. In order to listen to them you have to extract them, and convert them all back to .wav files. Extract them into the Original_Music folder. It is going to take a while. I'm working on making a chart as to which letter/number corresponds with which song.
*You can see an entire song list at:
http://www.mariowiki.com/List_of_Songs_in_Super_Smash_Bros._Brawl
, so you no longer have to convert ALL of the songs to find out which goes to which. THANKS RAWRzilla!*
STEP 7: After you have extracted all of the game's BRSTM files into your Original_music folder, you can start converting them. Open the MS-DOS command line. If you don't know how, just click your start menu, click run, and type cmd. When you have the window up, type in CD C:\Music_HAX\tools. Now we are going to use revb.exe to convert the brstm files into dsp files. In the command line, type in revb and press enter. It will give you a list of commands and options you can use. we are going to use the extract command. For this example, we are going to convert K01.brstm into a dsp file.
In the command line, this is what I'd type to convert K01.brstm into a dsp file:
C:\Music_Hax\Tools>revb --extract C:\Music_Hax\original_music\K01.brstm rstm C:\Music_Hax\original_music\K01.DSP
After you hit enter, it will display some data and such, but look in your original_music folder. Now you will have an K01.dsp file.
You can convert all of them to dsp files before proceeding to the next step, or do it one at a time. It doesn't matter. Either way it will take up lots of time.
STEP8: Open up DSPADPCM.pdf, and scroll down to usage. It will tell you commands you can use to do stuffs. This time, we are going to use dspadpcm to convert K01 to a .wav file, and create a text document with data.
In your command line, type in dspadpcm. It will display it's commands.
Now, to convert the file, and produce the data, I'm going to type the following on my command line:
C:\music_hax\tools>dspadpcm -d C:\music_hax\original_music\K01.dsp C:\music_hax\original_music\K01.wav -cC:\Music_Hax\original_music\K01.txt
It takes forever to type, but once you've done it, you'll end up with K01.wav, and K01.txt. Open both. K01 is the music from Lucas' stage, Snowman or winters. I can't remember. But it's the winter themed one. Here is what the text file says:
Header size: 96 bytes
Sample : 'C:\Music_HAX\original_music\K01.dsp'
Length : 4189394 samples
Num nibbles: 4787880 ADPCM nibbles
Sample Rate: 32000 Hz
Loop Flag : LOOPED
Start Addr : 0x00044000 + ARAM_offset (ADPCM nibble mode)
End Addr : 0x00490EA7 + ARAM_offset (ADPCM nibble mode)
Curr Addr : 0x00000000 + ARAM_offset (ADPCM nibble mode)
a1[0]: 0x0221 a2[0]: 0xFFE6
a1[1]: 0x0AA3 a2[1]: 0xFB9A
a1[2]: 0x06E6 a2[2]: 0xFF9D
a1[3]: 0x0E92 a2[3]: 0xF8E1
a1[4]: 0x0430 a2[4]: 0x01D9
a1[5]: 0x0B9A a2[5]: 0xFBDE
a1[6]: 0x07DF a2[6]: 0xFFB6
a1[7]: 0x0E2D a2[7]: 0xF9AB
Gain : 0x0000
Pred/Scale: 0x0000
y[n-1] : 0x0000
y[n-2] : 0x0000
Loop Pred/Scale: 0x0057
Loop y[n-1] : 0x0780
Loop y[n-2] : 0x0980
Note the number in lime green color. That is the sample rate. All wav files converted to dsp must be 32000 Hz.
If you get errors when you try step 8, try putting all the contents of the Audio portion of the dev kit into your tools folder.
STEP 9: Create a new folder in your Music_Hax folder named "new_music". Now that we have K01.dsp and K01.wav, you can open up your sound file editing software. I use goldwave. Open up your favorite .mp3, .ogg, .wav, etc. etc. For this stage, I used a song from Bound Together Album, "Sweet Dream Lullaby". Resample your song to 32000hz, or 32khz. Remove any or most of the silence from the end of the song, as it will repeat the song in the end. If you have no sound for the last few seconds, it will replay that also. Save it as a mono 16 bit PCM, in your new_music folder. It takes away the stereo, but it has to be done. I renamed my saved .wav file as "sweet_dream.wav".
NOTE:If you use softer songs with lyrics they tend to lose volume when you convert them to 32000hz mono, so raise the volume to compensate AFTER you resample and save it as a mono 16 bit PCM.
STEP 10: Now we convert my sweet_dream.wav into a dsp file. Look at the DSPADPCM guide. It will tell you how to encode it and such. So, to encode my file into dsp format, I'm going to type the following on my command line:
C:\Music_Hax\tools>DSPADPCM -e C:\Music_Hax\new_music\sweet_dream.wav C:\Music_Hax\new_music\K01NEW.dsp -cC:\Music_hax\new_music\k01NEW.txt
After I hit enter. It converts the song into DSP format, it also produces a text file. This is what the text file says:
Header size: 96 bytes
Sample : 'C:\Music_Hax\New_Music\sweet_Dream.wav'
Length : 7962741 samples
Num nibbles: 9100277 ADPCM nibbles
Sample Rate: 32000 Hz
Loop Flag : NOT LOOPED
Start Addr : 0x00000002 + ARAM_offset (ADPCM nibble mode)
End Addr : 0x008ADBF4 + ARAM_offset (ADPCM nibble mode)
Curr Addr : 0x00000002 + ARAM_offset (ADPCM nibble mode)
a1[0]: 0x031C a2[0]: 0xFF0C
a1[1]: 0x0ACC a2[1]: 0xFAF0
a1[2]: 0x065F a2[2]: 0x001F
a1[3]: 0x0E7A a2[3]: 0xF8FE
a1[4]: 0x0735 a2[4]: 0xFD15
a1[5]: 0x0BF3 a2[5]: 0xFB34
a1[6]: 0x08AE a2[6]: 0xFEDA
a1[7]: 0x0D99 a2[7]: 0xFA47
Gain : 0x0000
Pred/Scale: 0x0000
y[n-1] : 0x0000
y[n-2] : 0x0000
Loop Pred/Scale: 0x0000
Loop y[n-1] : 0x0000
Loop y[n-2] : 0x0000
Notice the lime green colored number. That number is the length of the song. It will be different for every song you convert to DSP format! We have to reconvert it with the loop option in order to make the song repeat during gameplay. To loop the song from beginning to end, this is what I'd type in my command line:
C:\Music_Hax\tools>DSPADPCM -e C:\Music_Hax\new_music\sweet_dream.wav C:\Music_Hax\new_music\K01NEW.dsp -l0-7962741 -cC:\Music_hax\new_music\k01NEW.txt
This will make the DSP loop from the end of the song, back to the beginning. Hal makes it so their songs loop somewhere where it sounds like the song is continuous. I don't have the time or capability to determine which byte in which song to loop to do that. So for now we just loop from beginning to end.
STEP 11: So now we have K01NEW.dsp and K01NEW.txt. We are now ready to convert it to brstm format. To do this, you have to use revb.exe again. so in the command line, this is how it would look like:
C:\Music_hax\tools>revb --build C:\Music_hax\New_music\K01NEW.brstm C:\Music_hax\New_music\K01NEW.dsp
Now you have K01NEW.brstm, you can now go to the final steps.
STEP 12: You open up your SSBB ISO in WiiScrubber again, and scroll down to the music file you want to replace. Right click K01.brstm, and replace it with K01NEW.brstm. Replace all the music files, skins, etc etc. you want. Close WiiScrubber.
Step 13: Burn your new image using the DVD-ROM book type on the slowest settings your writer supports.
Hopefully, if everything was done correctly, it should add up and you'll have Sweet Dream Lullaby play instead of snowman on Lucas' level.
and um, well that's it for now.
Here is a music sample done my me. I did two sonic stage songs, three Lucas stage songs, and both of Ness's stage songs.
http://www.megaupload.com/?d=NLM7W6FQ