With the release of it2amk I decided to write a guide teaching people how to port any music they want over to SMW. However, because I'm lazy and also very bad at writing, this took way longer than it should have, but here we go.
STEP 0: Obtaining the tools
Obtaining the tools is relatively easy. To make any ports, you most certainly will need the following:
(this tool is essential to porting SMW music!)
(a must have tool for this tutorial
That's pretty much all you need.
PORTING MODARCHIVE MUSIC
Now, most of the music on modarchive will work for this tutorial, so I just grabbed a random song. File so you can follow along
Next, drag and drop your song into OpenMPT, it should open up a window.
You're gonna want to click on this option. Next, change the type from MOD to Impulse Tracker and select Set Default
Now, close out the window and go to the tab that says "comments"
As you can see, our samples are WAY too big to fit in an SMW rom. The easiest way to deal with this is to downsample. So, click on the tab that says "Samples" to fix our problem.
Follow this diagram, you may need to do it several times to get the sample to a low size. However, there is some downsides to using resampling. Namely, resampling samples causes them to lose quality and sound static-y, so only use when you have to. Once you have downsampled all the samples you are going to downsample, head on over to the instruments tab.
Now you are pretty much done with porting the music, but there's a bit more left. Move the IT file into the folder that you put it2amk and open a command prompt. Run
python it2amk.py NAME_OF_YOUR_FILE.it
, and it will automatically convert your file to AMK compatibility. Check the music folder for your MML and check the Samples folder for your samples (Sometimes they are called "Addmusick_1" or something else, don't fret! we'll be covering that in a moment.) Now, take a peek into your Samples folder and hit Select All. is it Less than 40kb? If so, that's great. That means it'll work for in game levels. If not, it still might work for Overworld, titlescreen or even cutscene levels. Now, copy your samples Folder and your MML into the respective folders they belong in. (MML to Music and Samples to well, Samples.) Next, open up the MML, there's a few things we're going to want to change. First, copy the underlined part of this line "#path "tears-from-my-eyes
"" (Yours will say something else.) Now, rename your samples to the path as specified.
Now the next step is only needed if you plan on having this in a level where sound effects will play. Go to this segment of the music.
"01 MADE BY.brr"
"02 ALAN PARKER.brr"
"03 FROM FUZION.brr"
"04 CONTACT US AT.brr"
"06 43 HLM BOUVET.brr"
"07 97400 ST DENIS.brr"
"08 ILE DE LA REUNION.brr"
"09 INST.SPL OD.brr"
right at the very spot. If addmusick gives you a
Echo buffer exceeded total space in ARAM
error, then you're gonna need something stronger. Add this line to your addmusic_sample_groups.txt file.
"optimized/00 SMW @0.brr"!
"optimized/01 SMW @1.brr"!
"optimized/02 SMW @2.brr"!
"optimized/03 SMW @3.brr"!
"optimized/04 SMW @4.brr"!
"optimized/06 SMW @22.brr"!
"optimized/07 SMW @5.brr"!
"optimized/08 SMW @6.brr"!
"optimized/0A SMW @9.brr"!
"optimized/0B SMW @10.brr"!
"optimized/0E SMW @29.brr"!
"optimized/10 SMW @12.brr"!
(You can add it anywhere.)
Now that you've done that, go ahead and insert. If you get an echo exceeded error, then you need to resample music more. If it inserted successfully, congratulations! you officially ported your own (MASSIVE) song! Be aware that this music won't be accepted on SMWCentral, because it's unoptimized. If you need help optimizing, check out Ladia's perfect tutorial on just the subject. Good luck and have fun everyone!
Scry edit: Fixed table stretch on smaller resolutions!