Jump to content

Other than ripping samples, I want to learn how to make 16bit (SNES) samples

Recommended Posts

Now, they had to be made somehow, right? Otherwise no one would have samples to rip with SPCtool and what not. Now...How do I do this? I've tried looking online but all I can find is how to rip sounds. How do I create sounds?

I mostly want to know because I want to make a 16bit style game but don't want to use samples from other games, feels like cheating/don't wanna get in trouble for any reason. So does anyone have any insight into this?

thanks guys.


Link to comment
Share on other sites

Now, they had to be made somehow, right? Otherwise no one would have samples to rip with SPCtool and what not. Now...How do I do this? I've tried looking online but all I can find is how to rip sounds. How do I create sounds?

Believe it or not: they have also been ripped from other synthesizers and all kinds of instruments. In the 90s you could compose the full soundtrack on a workstation (which is a synthesizer with an included MIDI sequencer). Then it's a matter of making that MIDI file suitable for a console (strip out all unecessary data) and finding replacement samples for the sounds you use.

The alternative is using a kind of tracker so you don't have to go through all those steps - but even then, the source of the samples on a SNES would probably be a synth. It's just that when you have to reduce the quality that far to make everything fit in memory it doesn't sound much like the original anymore.

So does anyone have any insight into this?

Use a wave editor to reduce the quality of a recording back to 8 bits, 22kHz, snip out a piece you can loop, and you're nearly there. The tricks that were employed for Casio keyboards and early sample-based drum machines work just as well (and are used in the same way) on consoles - because those are also samplers with limited bandwidth and memory.

If you can get a good idea of the available memory in a regular SPC file, simply set for yourself a goal to build a collection of samples that's just as big (or not much bigger, say, 10-20% at most).

This means:

- picking early loop points - you loop fragments that are merely 0.2 seconds long or so

- stretching samples all over the keyboard

- compressing the samples so they stay at constant volume during looping

- using volume envelopes instead of full-length loops.

- simulating reverberation with a low qualty algorithm (the SNES had filters for this)

- simulating delay by repeating notes at lower volume

- limiting polyphony to 8 or 12 voices for the entire track

I'll whip up an example using a piano from Kontakt.

It's good that you mention that it's about a SNES - the Genesis is also 16-bit but uses a 6-voice 4-operator FM synthesizer. In a way it's more hi-fi, but it's also not as well-suited to make the dulcet tones you hear on a SNES.

Link to comment
Share on other sites

you get most of the lofi sound from low sample rates and tiny samples that use clever looping more so than the bit depth, 16 bit is CD quality, but if you start ripping samples from an SNES ROM you'll find many samples that are waaaaay beneath 44khz because they didn't have much memory to work with

Link to comment
Share on other sites

9Let's crank it up one notch with images and sound.

We'll start with a wistful melody from some JRPG (if it's from a game, sorry - I just played this and tried to get something Secret Of Mana-ish)



This was played with the Concert Grand in Kontakt 4. I've quantized the melody to 16th notes - quantizing is also important, because the SNES's tracker software will have a limited resolution. Feel free to change tempo at will, though.

When you open the preset, it looks like this:


Each blue block is a sample. From left to right you have the notes, up-down is velocity; you can see that the blocks are joined at the edges. When I hit a note with a certain force, that sample will be played - when I hit it with more force, it'll play the blue block on top of it. If I used the same sample for the entire velocity range, the note would sound the same (just with less or more volume) - and that's not realistic, since the sound changes in quality (hitting a key with more force on a piano gets you not only louder, but also brighter notes).

Now, let's look at that note in detail.


With not that much memory having multiple samples per key is an absolute luxury. So, that means our piano note should be a block that's as wide as the keyboard (each note plays the same sample) and as high as the entire velocity range (hitting with more force merely increases volume). This means that instead of 88 x 9 samples, we only use one, with a penalty in realism.


There it is in the file system. Let's get it and open it in Audacity, because we can reduce it even more!



This is what it looks like in Audacity. Let's see what we can do.

Link to comment
Share on other sites


First, there's an awful lot of really quiet sound at the back. We can get rid of that.


Second, we're wasting a lot of headroom. It's much more effective to store the sample at full volume and then reduce it using volume envelopes, rather than making it so quiet by default. It's not like you're going to hear those details anyway.



We've got two separate channels, but we'll just discard the left channel. Saves us half the waveform.

How does that sound? Well, like this:


(novel stands for "No Velocity" to show how artificial the sound can get)


Here's the interesting bit that is a dark art: the piano hammer makes a "thunk" noise when it hits the string (and there's the key noise), but after that initial "thunk" the waveform looks very much the same (it isn't, of course). We could chop away everything after the thunk except for a single cycle - and we'll loop that cycle. Looping is really easy!

What's the result after all our mutilations? This.


You hear that the sound "rattles" a bit - that's because Ableton Live's "Simpler" plugin which I used is very inaccurate with regards to loop points. I've simply duplicated the track, panned the original at full volume 60% right, and the copy at slightly less than half the volume of the original (shifted a quarter note to the right) 60% left.

The idea is that you pick that cycle based on zero crossings - you see the "0.0" in the last image marked in bold. Draw an imaginary line to the right - every time the blue waveform crosses the zero, you have a point where you could basically say "ok, this is the start of the loop" - and then when it crosses the line again and the pattern starts to repeat, "ok, this is the end of the loop". You could even help it a little bit by dragging the sample to exactly zero.

Technically, I should've also reduced the waveform to 8 bit, 22khz, but I simply put a static lowpass filter over it. Good enough for government work. Audacity can reduce to 8 bit, 22k, no problem.

It's an art, because not all sounds have neat looping points like this - strings and choir sounds for instance. So, there, the trick is to find the smallest loop that still sounds string- or choir-like. You'll need something better than Simpler for this - Vember Audio ShortCircuit should be able to do the job pretty well, because it can loop with sample-accuracy instead of with sloppy accuracy like Simpler.

Still think it's worth it? Because your results may sound SNES-like, but not like the stock sounds - so you need to be extra careful with the composition and stylistic elements. One example is for strings - a string sound takes a while to fade in. Repeated string chords on the SNES have that fade in every time, so it doesn't sound fluid. That's because there's only limited polyphony available.

Link to comment
Share on other sites

I still think it's totally worth it. and man, this is a great tutorial you whipped up here and it makes me very very very happy that you did and thanks for all the work you did to do so :DDD

I might use a few already made samples just because things like strings and chours would be tough to do but as long as they aren't obviously used from another game (like S. Metroid choirs, Zelda LttP strings, etc.)

I feel like I should give you a few bucks or something lol

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.


×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...