| |||
Views: 88,434,521 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-19-24 05:05 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 1 guest | 1 bot |
Main - ROM Hacking - Super Mario Kart custom music (How I do it) | New thread | New reply |
BLaBrake |
| ||
Goomba Level: 14 Posts: 11/34 EXP: 11867 Next: 1204 Since: 06-27-14 Last post: 2420 days Last view: 247 days |
There seems to be some ongoing interest in this and yet there's no real guide for it. I've spent many hours of trial and error to get some results. While this may not be a true tutorial, it should be enough of a guide to lead people into the right direction to make it happen. Here's my method. I'm open to feedback, mistakes being pointed out, and suggestions on how to make the process more efficient. Maybe in time we can compile a real tutorial for future hackers.
First off, I've been porting midis of non gaming songs. I use MVS's Ultimate Music Tutorial to prep my files. Follow the steps, but of course ignore the references to SMW and addmusic. We're not using those. You can find that guide here: http://www.smwcentral.net/?p=viewthread&t=54040 After you're midi is fixed and ready for insert, I export each instrument to it's own .mid file. Probably unnecessary, but it makes it easier for me to keep track of things. I export them to the folder with tinymm in it. Drag each .mid file into tinymm and now you'll have a .mml file. Open the mml editing tool and then open one of your new .mml files you just created. Under tools, click the Fix MML File option. Copy the new text that was made and copy/paste it into a new .txt file. At the top of what you paste, you need to change the following for each instrument. The layout goes in this order (ignore parentheses): #1(Channel) @15(Instrument) v200(Volume of instrument for mixing) y10 t39(Tempo) Change each item as needed. You have channels 0-7 to work with. 3,5,6,7 are shared with sound effects. By experimenting, I've seemed to notice those channels are used for the following: Channel 3-Pick up coins, jumps, end of the item pick up jingle, and bogged down off road sounds channel 5-going through water or mud channel 6- other drivers' engines channel 7-your own engine The rest of the commands are in the porting tutorial if you want to experiment with them. An instrument list can be found here under Dirtbag's notes: http://acmlm.kafuka.org/board/thread.php?id=4412&page=21 After all instruments are set, save your text file. Next go here to get messiaen's import tool. (It's about half way down the thread) http://acmlm.kafuka.org/board/thread.php?id=5604 Extract to a new folder. Put a copy of cmd.exe, a copy of the rom you're working with, and your new .txt files in there. Open the command prompt in the folder and type in "nspc yourfile.txt" You'll now have a file called "yourfile.txt.bin" Make sure the new music is no bigger than the one you are replacing or else you will overwrite data and corrupt your rom. Here are the original sizes as noted in the Stifu's offset notes: Title - 419 Player Select - 11E Mario Circuit - 575 Donut Plains - 49F Choco Island - 527 Koopa Beach - 43A Vanilla Lake - 474 Ghost House - 2A2 Bowser Castle - 375 Battle Mode - 4A0 Podium (1st-3rd) - 210 Podium (4th) - 1D9 Credits - 454 Rainbow Road - 551 Still in the command prompt, type in the following: "smk -e yourfile.txt.bin yourSMKfile.smc 2" The number at the end is for the location that you are replacing. They are as follows: 1-Title Music (currently does not work) 2-Player Select 3-Mario Circuit 4-Donut Plains 5-Choco Island 6-Koopa Beach 7-Vanilla Lake 8-Ghost House 9-Bowser Castle 10-Battle Mode 11-Podium Finish (1st-3rd places) 12-Podium Finish (4th place) 13-Credits 14-Rainbow Road Load up your rom and test it. Don't be surprised if you need to tweak things a few times with instruments and such to get it to sound right. That's why I said to use a copy of your rom. Hopefully this has worked for you. If not, please let me know. I've gotten so much help from the community and now I want to give back. |
gridatttack |
| ||
Red Cheep-cheep Level: 32 Posts: 162/202 EXP: 203632 Next: 2810 Since: 07-11-10 Last post: 1421 days Last view: 246 days |
BLaBrake |
| ||
Goomba Level: 14 Posts: 15/34 EXP: 11867 Next: 1204 Since: 06-27-14 Last post: 2420 days Last view: 247 days |
There's a couple of ways. You can use the data looping technique discussed in MVS's porting tutorial or remove an instrument's part that's not really essential. To play it safe, I've been using just a verse and chorus then let that loop. It's not like that races are that long to play through and it's kept my files sizes at about half of the original song's. |
gridatttack |
| ||
Red Cheep-cheep Level: 32 Posts: 163/202 EXP: 203632 Next: 2810 Since: 07-11-10 Last post: 1421 days Last view: 246 days |
Posted by BLaBrake Thanks. I wonder, what are the original file size of each music? Also I wonder, what if the new file is smaller than the original? Will it cause any trouble? ____________________ |
Mattrizzle |
| ||
Red Cheep-cheep Level: 33 Posts: 197/202 EXP: 226206 Next: 2973 Since: 04-21-07 From: United States Last post: 2413 days Last view: 2374 days |
Posted by gridatttackNo, it shouldn't. You'll just be left with free space after your music file. ____________________ |
BLaBrake |
| ||
Goomba Level: 14 Posts: 16/34 EXP: 11867 Next: 1204 Since: 06-27-14 Last post: 2420 days Last view: 247 days |
The original music file sizes are as follows:
Title - 419 Player Select - 11E Mario Circuit - 575 Donut Plains - 49F Choco Island - 527 Koopa Beach - 43A Vanilla Lake - 474 Ghost House - 2A2 Bowser Castle - 375 Battle Mode - 4A0 Podium (1st-3rd) - 210 Podium (4th) - 1D9 Credits - 454 Rainbow Road - 551 |
Stifu |
| ||
Cobrat Level: 56 Posts: 532/666 EXP: 1360506 Next: 37670 Since: 02-22-07 Last post: 678 days Last view: 300 days |
Posted by BLaBrake And it's all in the offset notes. Lazy gridatttack. |
gridatttack |
| ||
Red Cheep-cheep Level: 32 Posts: 164/202 EXP: 203632 Next: 2810 Since: 07-11-10 Last post: 1421 days Last view: 246 days |
Thanks all
Posted by StifuPosted by BLaBrake Welp, I swear, I checked them, but I dont remember them >.> But yes, unfortunately I dont have much free time (or access to my laptop) so, :effort: ____________________ |
Chaobomr |
| ||
Buster Beetle Banned: Spammer takeover? Level: 45 Posts: 364/467 EXP: 638217 Next: 21947 Since: 05-07-13 From: The dirty south Last post: 3473 days Last view: 3471 days |
Can this be done for many SNES games? I'm personally not interested in SNES hacking, but making SNES music could turn into one of my many hobbies. ____________________ Sorry for the stupidity. That jerk will be dealt with in the most insane way possible. |
dirtbag |
| ||
Red Koopa Level: 27 Posts: 108/128 EXP: 114611 Next: 1548 Since: 02-24-07 Last post: 3180 days Last view: 3093 days |
Good work BLaBrake, interesting I got the music channels slightly off.
It's worth pointing out that once you have the .bin file you can compress and insert the music with EE or luna compress. This means if we can findout where the other music is stored in the game we can edit those also. As for the title music if the address is 68003/4 then the tool Messen made will have the wrong offset. However I still can't change it with custom music, although I can with a copy of the GV music. Chaobmr, yes but with slightly different tools. I'd suggest you would do SMW as there are more details, tools and things to get you going. What I have not worked out yet is how to get a MIDI tracker (I am using 3MLE currently) to have custom instrument set. I'll be more than happy to invest the time to extract and convert the BRR files to WAV if they could them be used to compose a MIDI. Anyone any experience with this sort of thing? |
MiniCompute |
| ||
Bubble Level: 66 Posts: 562/981 EXP: 2420049 Next: 41802 Since: 04-25-07 Last post: 482 days Last view: 691 days |
Posted by dirtbag You can try this out here http://www.anvilstudio.com You can try sonar producer v7.0 or up |
BLaBrake |
| ||
Goomba Level: 14 Posts: 18/34 EXP: 11867 Next: 1204 Since: 06-27-14 Last post: 2420 days Last view: 247 days |
Dirtbag, yes I found that channel 3 uses the coin pickup sound, jumps, the end of the picking up an item jingle, and the bogged down sound (like driving over snow on Vanilla Lake). I almost have all of my songs initially inserted. I plan on going back and tweaking them to work with the sound effects and loop a little better. I just found out about the [r1]99 trick to stop songs from looping too quickly.
Good point to mention that Lunar can be used to insert .bin's too. I'll add that later to the first post along with what sound effects go on which channel. I do have a question though. I plan on poking around with the unknown data areas mentioned in the offset notes after I'm done working on the first version of my hack. How should I extract the files or what can I use to test them to see if they are music? I should be reaching that stage in the next couple of weeks. Edit: Best I can tell channel 3 is for coin sounds, etc, channel 4 is open, 5 is for going through water and mud, 6 is for the other racers engine sounds, and 7 is your own engine sound. |
dirtbag |
| ||
Red Koopa Level: 27 Posts: 109/128 EXP: 114611 Next: 1548 Since: 02-24-07 Last post: 3180 days Last view: 3093 days |
Posted by BLaBrake That is the question you can try corruption, or extraction at different offsets and recompression/ insertion. There will be more elegant ways debugging the game to work backwards to where the music is loaded in to the SPC's memory, but I can't tell you how. I'm assuming the data is all compressed. @MikeTechno: Thanks that's very helpful, I guess the term I was looking for is sound font |
MiniCompute |
| ||
Bubble Level: 66 Posts: 565/981 EXP: 2420049 Next: 41802 Since: 04-25-07 Last post: 482 days Last view: 691 days |
Posted by dirtbagPosted by BLaBrake |
BLaBrake |
| ||
Goomba Level: 14 Posts: 23/34 EXP: 11867 Next: 1204 Since: 06-27-14 Last post: 2420 days Last view: 247 days |
Anybody know how to keep the "Hurry Up!" tempo speed for the last lap after the music loop has played through once? It plays fine the first time and then goes back to normal speed afterwards. I'm not sure if it's in the way I wrote my file or if I'm missing a command. I would guess the answer would be similar to how it's handled for SMW? |
MiniCompute |
| ||
Bubble Level: 66 Posts: 572/981 EXP: 2420049 Next: 41802 Since: 04-25-07 Last post: 482 days Last view: 691 days |
Posted by BLaBrake Ask stifu if his editor can normalize the tempo speed for the last lap. If I'm not mistaken you would have to do a little bit of hex editing in the rom to get it to work. Thats about as far I can get you to. :/ |
Stifu |
| ||
Cobrat Level: 56 Posts: 541/666 EXP: 1360506 Next: 37670 Since: 02-22-07 Last post: 678 days Last view: 300 days |
Posted by MikeTechno Nope. |
MiniCompute |
| ||
Bubble Level: 66 Posts: 574/981 EXP: 2420049 Next: 41802 Since: 04-25-07 Last post: 482 days Last view: 691 days |
Posted by StifuPosted by MikeTechno :/ well the only place left is to ask the smwcentral addmusic moderator blabrake. http://www.smwcentral.net/?p=profile&id=9961 Have him view this thread and show him your text file. If he doesn't know it may have to stay onthe back burner for now. |
dirtbag |
| ||
Red Koopa Level: 27 Posts: 110/128 EXP: 114611 Next: 1548 Since: 02-24-07 Last post: 3180 days Last view: 3093 days |
I'd not really tested music in tracks too much before. I've had a go and you're quite right the 5th lap sped up music only lasts for one loop of the song then it returns to normal speed.
Maybe it's something to do with the head values we are using. Really we need to extract some of the orginal music and with a list of SPC codes workout how they are different. |
MiniCompute |
| ||
Bubble Level: 66 Posts: 575/981 EXP: 2420049 Next: 41802 Since: 04-25-07 Last post: 482 days Last view: 691 days |
Posted by dirtbag Hmm since you put it that way you would need to adjust the tempo in your mml file somehow. That or seek out the help of masterlink at smwcentral, he should be able to tell you what to do in order to stabilize the tempo in all the laps. Good luck. |
Main - ROM Hacking - Super Mario Kart custom music (How I do it) | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 132, rows: 172/172, time: 0.018 seconds. |