Monday, August 9, 2010

[rant title="Cheating Chiptunes"]

Cheating Chiptunes
OR
How To Make Chiptunes Without Learning A Tracker

So many people ask "How do I make 8-bit music?". Well, chiptunes are nothing more than extremely simple synthesizers. You can effectively fake a chiptune sound in a digital audio workstation (DAW) such as Fruity Loops or Reason. First you must learn where the sound comes from, how to make that sound as close to the original as possible, and then how to write music that sounds like chiptunes.

1) Making Waves

Chiptunes are created by a video game system's internal sound processor, which for the most part is just a very simple single waveform synthesizer.

The first thing we want to do, is have only one oscillator playing. Most synthesizers use two or more oscillators mixed together to create a sound. Isolate one oscillator by turning the volume down on the other oscillators, or turning the mix to all the way up on one oscillator and 0 on all others.

Notice how all the waves except the square wave are turned down.

Notice how the Mix slider is pushed all the way to the oscillator at the top.

Notice how the volume on the first two oscillators is turned all the way down.

Once you have one oscillator isolated, you need to remove all effects from the oscillator. Usually this involves shutting off the effects channel of the synth. Delay, reverb, arpeggiator, distortion, detuning, modulation, etc. all must be shut off or have their bus reduced to 0. Keep in mind that the low frequency oscillator (LFO) is usually not in the synth's master effects channel. This needs to be reduced to 0 or shut off as well. Also, master effects like resonance and cutoff need to be reduced and boosted, respectively.

Some synths have a master switch for the effects.
The first picture shows the effects on, the second is the effects off.

Some synths have each effect switch on or off independently.
Notice how in the first picture the effect knobs are turned all the way down.

Usually, each oscillator will have it's own LFO.
Make sure the LFO's speed is reduced to zero.


The cutoff filter should be at maximum, and the resonance should be at zero.

As you can hear if you start tapping your keys, we're getting close to the sound of a chiptune. Next we need to change the ADSR envelope of the wave. The attack(A) should be set to 0, delay(D) is full, sustain(S) is full, and release(R) is 0.


Notice how each of these envelopes has
the attack and release at zero, and the delay and sustain at full.

Basically what we have done is torn the synth down to it's most primitive form, a single waveform. The key now, is making it sound as close to the original as we can.

2) Keeping It Real

Now that we have shed the synth of all it's modern trappings, we need to make sure it is the same sound we get out of a chiptune. For this tutorial, we will be imitating the Nintendo Entertainment System sound chip, the 2A03. The NES was capable of producing three different waveforms: square (more accurately, a pulse), triangle, and noise.

The square wave is actually called a pulse wave because it is not always square. The 2A03 could produce three different variations (pulse width modulations) of the square wave: 25%, 50%, and 75%.

Most synths can do this through the LFO's pulse width modulation (PWM) knob. Notice the difference in sound as you move the PWM knob. A pulse wave at 50% is a perfect square wave. As the pulse width changes, the difference in width between the highest and lowest part of the wave changes.

This synth has the PWM knob built right into the wave selector.
This PWM is set to 75%.

This PMW knob is at 50%.

The triangle wave is pretty simple and easy to understand. Its a wave that looks like a triangle.

The trickiest part is the noise wave. This is one of the hardest parts to reproduce because no two synths create noise the same way. Noise is a pseudorandom function of the synthesizer's processor and the way the 2A03 creates noise is not the same way your synth may create noise. Add to that the fact that most synths do not map white noise to a pitch, which the 2A03 does. Some synths may have an option for this, but more likely than not, reproducing the noise channel is very synth-specific and arduous process.

At this point, you may need to look up the exact specs of the system you are trying to imitate. For the 2A03, there are some very important things to keep in mind:

-The 2A03 can only play two pulse waves, one triangle wave, and one noise channel simultaneously.

-Square wave can be played with 25%, 50%, and 75% pulse widths.

-The 2A03 cannot do any effects like reverb or delay (see the next section on how to fake these effects)

-The 2A03 can do very deep pitch bends, so make sure your synth has it's bender set very high.

-Make sure your portamento/glide is turned off. The 2A03 cannot do this (though skillful pitch bending can fake this).

-There's obviously much more to consider, such as the fastest and slowest tempo the chip can do, the highest and lowest pitches the chip can play...you get idea. The more specific you get, the better it will sound. With all these specific limitations and such, how will I make awesome tunes?

3) Mastering The Technique

So if the 2A03 can only play two square waves at once, how do they do chords and stuff? With only one noise channel, how do you get all those percussion and undertones? Chiptune artists have been wrestling with these limitations for decades, and the techniques to overcome these challenges can make a simple four track song sound like a symphony.

The biggest step to learning to write chiptunes is to understand how the human brain interprets stimuli. Your brain fills in the holes that your eyes, ears, nose, and skin can't. Your eyes each have a blind spot, but you never know it because your brain fills in the missing data for you. Try to read this sentence:

I LVOE BACK TO TEH FUTRUE! ITS MY FVRAOITE MVOIE!

Now even though that sentence looks like complete garbage, you know exactly what it says, because your brain rearranges the letters for you. Your brain does this with sound as well. Chiptunes effectively fool the listener into hearing things that aren't really there.

CHORDS
There are a few ways to fake chords. One way is to use very fast arpeggios in a single channel. If it's fast enough, your brain will just mash the notes together and it will sound like a chord.

Another way is to use both channels to play two different notes in the same rhythm, but then make one of the channels play the melody, with the other channel still playing the notes from before. Since you still hear part of the chord, your brain fills in the other part and makes it sound fuller than the actual sound.

ECHO AND REVERB
There are two methods of faking reverb and both are effective in their own way. The first is to have one channel play a melody, and then have a second channel play the same melody just a tad later. Bonus points if you pan them apart a bit to create space. The advantage to this method is that melodies that have no rest between notes can have reverb, but it takes two precious channels to do.

The top picture is the first "main" channel. The bottom picture is the "echo" channel.

The other is to have one channel play a melody, but after the note ends, put a softer note right behind it to make it sound like its reverberating off some far off object. This leaves the other channel free for another part, but only works when there is enough space before the next note to place the reverb note.
The yellow notes are the melody, the light blue notes are the reverb notes.

PUNCHY SOUNDS
If you want a melody line to have a slightly punchier, percussive sound to it, take the melody and scoot the entire thing forward just a tiny bit, then place a very short note an octave above on each note. This works on the noise channel for percussion as well.

STUDY THE PROS
Listen to chiptunes, isolate individual channels if you can, and see exactly how the pros get the sounds that they do. Chiptunes are an extremely difficult but very rewarding artform. And as always, practice makes perfect!

[/rant]

No comments:

Post a Comment