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.
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.
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.
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 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
I don't know how relevant this is, but could you give some information for a true beginner, like what to look for in a music program and if there are any free ones?
Yes, absolutely. :)
What you're looking for is a Digital Audio Workstation, and there are a couple of free ones (some free as in freedom, some free as in beer) that I can point you to:
If you're running Windows:
If you're running Linux:
I personally use FL Studio, but it's not free in either sense of the word. :)
There are also plenty of other (expensive) audio programs out there, but for chiptunes they're overkill. Honestly, if you specifically want to do chiptunes and you're running Windows, Famitracker is probably your best option.
Bart
Don't forget about Audacity -- a FOSS audio editor fully capable of creating these tunes (and more) -- http://audacity.sourceforge.net
MilkyTracker is quite decent aswell, although it's user interface is a bit clunky.
Here's a simple demo , the 1st part is an old .midi (about 30 secs) and the second one is an NES type chiptune.
http://dl.dropbox.com/u/25759654/TD03%20%28malicex%29.ogg
One of the best things to do (because, let's be honest, you're probably not the composer from one of the epic nintendo classics) is to look up classical pieces whose copyright has expired and 'chip' em. I highly recommend Bach.
http://www.youtube.com/watch?v=_4IRMYuE1hI
Some parts might be useful, remix, try it backwards, (Hmm... someone should totally code a chiptune inverter... probably me... I'll do it after the next procrastinators convention.)
Bethoven's 5th, 2nd, pentambic scale,
Bach: Trio Sonata,\
Bethoven romance for violin and orchestra Op 40
Mozart Violen Concerto no 5
Prokofiev Violin Concerto no 1 in D major, 3rd movement (Still copyrighted, need to check)
(Let me know if any of them are still copyrighted.
Statistically, the odds of the one who makes the chiptunes being the greatest composer who ever lived...
http://www.youtube.com/watch?v=V92OBNsQgxU As seen on bugs bunny. n.n
Though the number one epic audio moment is when I realized Star Ocean had spoken audio, FTW!!
Additionally, look up Sea Chanty's as they might provide interesting world/action music... if 'pepped up' a bit.
@DarkUranium:
How exactly would you go about creating a chiptune in Audacity? It doesn't have a sequencer that I'm aware of.