3 users online: crocodileman94, EvilLuma, Rudi_Schrausch - Guests: 76 - Bots: 167
Users: 55,590 (2,464 active)
Latest user: StrangeEric

New sample utility (Released)

Made in C# and targetting .NET framework 2.0.

Some time ago I put out a sample utility which let people insert .wavs to replace the samples SMW used. Problem was that changes were global which really limited its use. This is how the new one works:

-On first use, you point to a small amount of free space where a table and a small hack is inserted into the level loader.
-You create banks based on the default set which are inserted in a given bank # of your SMW ROM. You can edit banks seperately, so there's no forced global changes. For sake of convienence, it checks if they're a RATS tag in the given bank to stop you from erasing anything important.
-You assign each of the 512 levels to a bank, they all initially start by using the default ofcourse.
-A feature to export / important sample banks is there, so if you make custom music with special samples you can include a .bin file to insert into your ROM, to allow for more authentic conversions.

The increase in load time is noticeable (hey, it's a 2Mhz cpu trying to upload to a 1Mhz cpu) but it's not that bad, I think. There's no support for OW tracks, sorry.

SNESSOR or SNESSOR95 is a nice source for .wavs, particularly if you're making a port.

Here's the download, and please make backups if you want to use it...

The side effects are important to consider if you want to use this tool...


The SPC700 needs to recieve an extra 32kb of data everytime a level is loaded. It's a horribly slow process and it adds about a second or two to the load times of levels. It does not effect in game slowdown at all.

Normally in SMW if an exit is taken and the song of the old level matches the song of the new level, the song keeps playing. Since the SPC can't key notes at the same time it recieves data, the song has to be interrupted to upload the sample bank and then restarted. The hack forces the song to restart regardless.
Wow. Before, custom music was just arranging the instruments in new patterns, but you can make totally new songs! Dude, you're a genius.
Sweet.So now we can make levels use samples without overwriting stuff that will be used in every level?
This can open up great new gimmicks to custom sprites.Take the infamous marx boss for example.You'd be able to hear marx's giggling as a sfx!
Not a bad gimmmick at all..

And the fact that instruments are replaceable make it even more better.But the problem is finding an empty bank...
Your layout has been removed.
Does this mean I'm going to have to go through the music section and remake all 383 songs to be awesome? *whine*

This is going to be awesome to play with when you release it. Really looking forward to it.
Originally posted by S.N.N.
Does this mean I'm going to have to go through the music section and remake all 383 songs to be awesome? *whine*

Why not only remake the songs if you want to or if they are requests?0_o
No point remaking a song that already sounds fine (Meteos for example)
Your layout has been removed.
Originally posted by S.N.N.
Does this mean I'm going to have to go through the music section and remake all 383 songs to be awesome? *whine*

I don't think you'd have to remake anything, honestly, from how I understand this working. From the sound of this, if you did that, the user would have to tweak and insert their level's music with this tool in order to be able to use the music properly. To me, this tool sounds more useful for composers like you for their individual projects, rather than something that can be (easily) made for widespread use. Don't get me wrong - this is an amazing tool and I am astounded at everything you were able to do with it, smkdan - I just see it having more private applications, unless I am misunderstanding something.

Anyway, nice job smkdan! This is awesome.

[?] Miscellaneous Helpful Hints
If I moderated your hack, there was apparently a 90 percent chance it was rejected.
Absolutely fantastic.

Too bad I won't be able to use it, seeing as how I'm musically illiterate...
It's me!!

High on life is the best high.
Thoughts / Comments?

Open source? Maybe?

One thing that may make this better is if you can move all the levels at once, if it doesn't do that already.
Your layout has been removed.
Sounds nice!

BTW, under level banks, it says "avaliable" instead of "available". ;)
Or I just don't know that word. :\
Wow. That's amazing. I expected something like that since you said for a while you would make it, but I didn't expected it so soon. Awesome.

The loading time you are refering to... would it only affect the time the level loads or would you add slowdown in the game as well? I'm just asking, because there is way too much stuff today you can apply to a hack which adds slowdown, so... :p

Biesides, how much samples could you actually insert to a hack? With your last sample utility, I was able to replace about 3 to 5 samples or something and after that I had no space left. It's possible of course that I was missing something there, and a sample utility like your new one doesn't make sense if you are that limited, so I would definetely like to know what's possible. :D

Wow that looks pretty cool I will use it but it looks a bit Difficult with all the options and stuff will you realease a simple tutorial with it?

So does this still replace older samples just for specific levels or does it add new ones all together

--Theory to make a new sound effect modify the explosion sample (13 I think) and since its for spcific levels you wont get evil laughing fire works (I just thought of it now)
Thanks for the comments...

To answer a few people, you don't insert music with this tool. You insert the samples the music makes use of. If I were to compose and distribtute custom music that used a few custom samples with this tool, I could export the sample bank (32kb block of data) and pack it with the .zip file. The user would import the sample bank into their ROM and assign it to the level(s) which use the custom music. You don't have to be a composer at all to make use of it.

MON: Maybe.

FPI: The load time is at the "MARIO START" where the game builds the level and whatever else. There's load times on entering levels and going back to the OW. The extra time is about a second or two. It doesn't add anything to ingame slowdown.

There's really no way around the size restriction, since what I thought was 8kb of extra space was actually the echo buffer (thanks GSD ram viewer :[ ). A little under 4kb is the most you'll have as starting free space. Lowering the sampling rate of .wavs (most SNES games seem to use 8Khz) can help you cram more into it. Since you get to make several sample banks it won't be as bad since if for example you don't use steel drums at all in a level, you can make a new bank and delete the steel drums without requiring a replacement.

Also, the "unused" samples aren't much use since you're going to have to overwrite an original instrument if you want SFX / Music to be able to use it...Might make use of it later on.

Winter: It replaces them, and I'll definitely make a tutorial when I get it working.
I put up a download link, it seems to work fine. Let me know how it works or if there's anything horribly wrong with it.
Its finally done ^_^
You should really get around to a tutorial though...

(Next we know Lazy Shell will be finished!)
Your layout has been removed.
I made some documentation for it, it's in the current zip file now.

I see most people waiting until a composer(s) makes use of it. Then a hacker can import the result into their hack with the tool.
I've already used this tool, and made a quick test here by ripping .WAVs from other games - specifically, Secret of Mana and Final Fantasy 6. If you know how to use this tool properly, it is pure bliss. The only thing you need to note (I'm not sure if smkd already said this, but he told me yesterday) is that you cannot overwrite samples which are used by sound effects in the level, or they will be screwed up. I will go through and make a list of which samples are used by sounds later and repost it here.

Anyway, as I said on IRC, amazing job smkdan.

This let's you insert instruments to make songs with, basically?
Yes, you can insert .WAV files. The most useful tool with this is SNESSR, a tool which can dump every single sample from an SNES ROM in .wav format. For example, if you hear a bell that you really want in a ROM, dump the sound from the ROM and search the .wav files for the bell. You can then insert that into SMW .. just be careful though because you only have a limited amount of space per bank.