Kickin' it old school: Setting up NES style chiptunes

Kickin' it old school: Setting up NES style chiptunes

bart's picture

Chiptunes are pieces of music meant to sound like they're being played on and old school digital synthesizer such as the original Nintendo Entertainment System.  The general definition of chiptunes can encompass songs that play on various audio chips, but for the purpose of this tutorial I'm going to focus on how to make songs that sound like authentic NES songs.

The Basics

The NES is able to generate four different types of sounds: square waves, triange waves, saw waves, and white noise.  These sounds are very simple to generate digitally, in they don't require the sort of complicated calculations that other waveforms (such sine waves) do. 

If you're using a fancy digital audio workstation (such as Reason, Reaper, FL Studio, LMMS, etc) you'll want to turn off all of your fancy SFX plugins and find the simplest synthesizer plugin you can (LMMS, for instance, comes with the Triple Oscillator, which is similar to FL Studio's 3x Osciallator).  Chances are, though, even a simple oscialltor will have more bells and whistles than the NES was capable of, so you'll want to avoid using certain oscillators, including Sine, Moog-like Saw, or Exponential (or any other random waveforms and filters that the synth you're using may support).

Since the NES was very limited in the number of voices it could use simultaneously (it maxed out at four, I believe), it's generally best to avoid mixing more than two synths together into a single instrument.  Interestingly enough, you can still achieve a fairly large variety of sounds even with this small toolset, so I'll do my best to describe the ones I know of.

Sawtooth Wave:

A plain saw wave has a harsh undertone that makes it good for emulating stringed instruments such as a violin or an electric guitar.  You can hear an example of this in the famous Mega Man 2 intro theme, starting here.

Triangle Wave:

A triangle wave doesn't have any harsh undertones, and is as close to a sine wave as the NES was able to get.  It's particularly suited to baselines because it sounds good even at low frequencies, and also works well as a flute-type sound.

Square Wave:

A square wave is roughly between a sawtooth wave and a triangle wave in terms of sound.  It's somewhat harsh, but not as much as a saw wave, and it can work at higher pitches to emulate reeded woodwinds, such as a clarinet or oboe.

White Noise:

White noise is mainly used for percussion in conjunction with volume envelopes.

Combining these four elements is a good way to get into making some basic chiptunes.

The Next Level

If you want to get serious, you can coax some more interesting sounds out of this simple set of synths.  Here are a few that I know of:

Vibrato:

By combining the same two waveforms at slightly different frequencies (that is, one fine-tuned slightly above or below the other), you can achieve an interesting, echo-y sound with a slight vibrato.  The downside of this, if you're trying to be realistic as possible, is that you're actually using two of the four available voices to do it, which leaves you less room for percussion and bass.  Here is an example of this sound.

You can also accomplish a vibrato using one single voice by varying the volume and/or pitch of the wave with a low frequency oscillator.

Snare Drum:

A snare drum can be emulated with white noise that starts out loud and fades away somewhat gradually.

Hi-hat (open):

An open hi-hat can be emulated with white noise that starts out quiet and fades out gradually.

Hi-hat (closed);

A closed hi-hat can be emulated with white noise that starts out quiet and fades quickly.

Bass drums and tom-toms:

Bass drums and tom-toms are generally accomplished with a triangle wave that decreases rapidly in both pitch and volume.  Old Capcom games such as Mega Man used this to great effect (note the snare drum as well).

Reverb:

Obviously using a true reverberation plugin is out, but you can actually accomplish a lot using your syntesizer's volume envelopes.  The key to 'faking' a reverb effect is having the sound decay quickly at first, but then fade out slowly.

Bit Crushing:

There is one type of SFX plugin that actually helps simulate a NES sound more accurately; specifically, a bit crusher.  Bit crushing is the idea of taking high quality sound and lowering the quality (the playback rate and number of bits).  Since the NES was only capable of 8-bit sound, it's inaccurate to simulate it using full 32-bit waveforms; as such, using a bitcrusher to reduce your sound to 8 bits will produce a more authentic sound.

Final Notes

There are a couple of things I haven't mentioned:  First off, the NES's white noise generator is a slightly more complicated than just plain white noise.  I haven't looked into emulating this exactly, but it might be worth reading into if you want to get into some extra effects while preserving authenticity.

Secondly, the NES also had a fifth voice, for playing PCM sounds.  This was generally used for in-game effects, but was also sometimes used for drums and such.  This channel could be considered to be low quality, single-voice wavetable synthesis.  Bear in mind, though, that PCM sounds had to be extremely small to fit on a game cartridge, so you weren't likely to run into particularly long synthesized voices.

Finally, it should be noted that unless you're using a synthesizer that's specifically built to mimic the NES exactly, there are will be subtle differences between chiptunes made with these instructions and "real" chiptunes.  Genereally, though, the above steps will produce a sound that's passably similar.

Feel free to add comment and correct any inaccuracies. :)

Bart