Yep, it's me, Gota7.
Now if you're like me, you probably noticed that all the music replacement tutorials, don't work.
BUT FEAR NOT! You can get custom music too. It just takes a lot of patience... and possibly some heartbreaks if you mess up, but let's get started.
For those visuals I made videos:
Now a bad thing about other tutorials is that you have to go find the tools yourself usually, which tends to be a bad thing since there are different versions, etc. So just download my tool pack (I will refer to this as my toolbox):
If for some reason, I'm a tool and delete, ask me, or go on a scavenger hunt to find the tools yourself:
* midi2sseq.exe (NEW VERSION, not old one)
* Anvil Studio
* libstdc++-6.dll (So midi2sseq actually works)
* SM64DSe (I'm pretty sure you can find that)
* VGMTrans (I got mine from github)
* editor.exe (NDS Editor)
* A dump of sound_data.dat (The one in my pack is stolen from Skelux)
Now that you have all the tools, let's get starting in getting our MIDI into the game!
Open an original ROM with VGMTrans.
Find the song you want to replace.
Right click it, and hit SAVE .mid and DLL.
Open the .mid you want to use with rather FL Studio (Recommended)
or Anvil Studio (Basically anyone else). Pay attention to the instruments used in the original mid file. YOUR CUSTOM MID FILE MUST USE THE SAME INSTRUMENTS, AND NUMBER OF TRACKS!
After you finish perfecting your mid by elimination kinda useless tracks, and changing all the instruments, you now HAVE TO REARRANGE THE ORDER OF THE TRACKS TO MATCH THE ORIGINAL FILE, AND RENAME THEM TO THE CORRECT NAMES AS WELL. Now those with FL Studio can use Fruity LSD to have a live preview of what it will sound like. Now you may have trouble changing instruments, that is because you have to use FL's Piano Roll Editor to Delete the channel and volume controllers. And yeah, I need to make a video tutorial on this, because this sounds terrible. When it's done, export the MID and close out of the editor.
If this section confuses you, watch the first tutorial and a little of the second.
Now that you have your MIDI with the correct instruments, save it, and close whatever editor(s) you are using. Now we are going to make this thing work correctly. Open the .mid with Anvil Studio. IF YOU SEE AT ANY TIME EMPTY TRACKS WITHOUT ANY NOTES THAT MAGICALLY APPEAR, DELETE THEM.
Now it's time to make our song loop!
Go ONE SECOND AFTER where you want the loop to start.
Then Hit Edit->Insert MIDI Event.
Make sure both check boxes are checked.
Now in the Kind Of Event Scrollbox or whatever, look for Marker. Click it. (Is like 13 down from the top)
In the text box, put in without quotes: "loopStart"
Go ONE SECOND AFTER where you want the loop to end. (I'm pretty sure you know how to add the marker.)
Congrats! You made your song loop, please note in the anvil studio editor it won't loop when you play it, but it will in-game, trust me.
Now time for the weird part:
Write down the tempo or memorize it.
Hit File->Export MIDI Format 0 File.
Overwrite or save as another .mid file.
Open the new .mid in anvil studio.
You will notice the tempo is off.
Click on the tempo, and enter the tempo from earlier.
MAKE SURE ENDLOOP IS IN THE CORRECT POSITION, MIDI 0 TENDS TO MOVE IT.
Hit File->Save Song.
YOU ARE NOW DONE MAKING THE .mid!!!
Note: Opening and saving the .mid in any other editor after Anvil Studio DESTROYS THE LOOP! (And everything you did in this section).
This is the part to cross your fingers. You can either make it or break it here. Hopefully you are all set with your midi, and if you did good, this should work out smoothly for you.
Now, copy to an empty folder the following:
* Your final, fixed midi file from the previous step.
For simplicity reasons, rename your mid file exactly to "FILENAME.mid" (No quotes).
For those good with CMDs or batch files, you can use your own .bat file. The command to convert the midi is:
midi2sseq FILENAME.mid FILENAME.sseq
Now if you used my batch or not, it should have worked. If it gives a weird error, then most likely you don't have the dll in the same folder. If it failed, sorry, I don't know what to do.
IF IT WARNS YOU ABOUT THE TEMPO, DON'T PANIC! IT'S NORMAL!
If your SSEQ is over 10kb, I recommend you shorten it. It could decide to not work.
Now in my toolbox, look for the sound_data folder. In the Sequence folder, look for the file you want to replace. Rename your .sseq file to the same as the one in the sequence folder. Replace the one in the sequence folder.
Now, open editor.exe (in my toolbox).
Hit Tools->Make Sdat File.
It should ask you for a folder, select the sound_data folder.
Now everything else should fill itself out (Unless you renamed any folders, which you should not have). Make sure the checkbox is checked, and hit OK. Now find your sound_data.sdat file, and hold onto it with your life, this contains all the music in the game!
To see if your song sounds good, you can open the sound_data.sdat with VGMTrans.
Now time for the moment of truth. Open your DS Rom with SM64DSe.
Hit SM64DS File System. Click the + next to the ROM File System.
click the + next to data.
Click Replace (Raw).
Navigate to your sound_data.sdat.
You will no for sure it worked, when it does nothing. (A little replaced successfully message would go good here).
Time for the final test.
Open the ROM in your Flashcart or Emulator, and see if it works!
If it works: Congrats!
If it kinda works: Double check you did everything right, retrace your steps, or do some editing.
If it's too loud or too quiet: Go back to the end of the basic editing stage, and change the volume of the channels.
If it doesn't work: You messed up somehow. Or it's a bad .mid, but I doubt you'd make it this far and have it fail. If you get an annoying buzz, you didn't do the basic editing right, or didn't use my version of midi2sseq.exe