How to Make 8-bit Music

Ranked #186 in Music, #3,872 overall

The tools and knowledge you need to get started writing chiptune music

Learning how to make 8-bit music is a journey into a magical realm of retro video games and electronic media. First you must understand what 8-bit music is. If you've ever played an NES video game console, you've heard it, but too few people have actually thought about how to make 8-bit music, let alone actually try it. Back when they were making the first widely commercialized video games, they didn't have the music creation technology that we do today. No FL Studio. No Garage Band. Nothing except a little computer chip in the console that could process 8 bits of information at a time. And so, the sound engineers of the day had very strict limitations on what they could and could not create using only 4 channels of sound, two of which were devoted to treble voices, one to bass, and the sole purpose of the fourth was to make gritty sounding noises.

Now that we have the technology to create higher quality music and not nearly as many restrictions on the instrumentation, why would anyone want to limit themselves in that way? Believe it or not, There are a lot of games still being made that use 8-bit music, also called "chiptunes" in reference to the computer chip that originally contrived them. It may be the nostalgia for a simpler time, or it may be that some just prefer the sound and style, but whatever the reason, some games today are even being created entirely for the purpose of experimenting with 8-bit music.

Note: This tutorial delves into a number of subjects surrounding 8-bit music, but focuses on how to create it as authentically as possible with modern software. If you came here looking for a plugin for your DAW, I'd recommend YMCK's Magical 8bit Plugin. However, you should still give this page a read-through. You might learn something cool ;)

8-bit Basics

Understanding soundwaves and channels

Introduction to Soundwaves

No, we're not going to the beach. I'm talking about how sound ripples through the air. Understanding the basic forms of soundwaves is the first major step towards learning how to make 8-bit music.

If you've ever even played around with any sort of recording software, you've probably seen them. They are a visual representation of the velocity and pitch at which sound is traveling. Seeing recorded sound waves may look a little complicated, but we're talking about computer emulation, so hopefully it will be a little easier to understand.

In 8-bit music there are four basic types of sound waves: Sine, Saw, Square, and Triangle.

Each one produces a different type of sound, and they are all malleable to conform to whatever effects like tremolo or delays that the composer wishes to produce.

Sine Waves

Sine WavesYou may remember seeing these in physics class in high school or if you took any trigonometry or calculus courses. This wave shows as a perfect curve that runs up and down like a rollercoaster.

As can be expected, the sound is sweet and smooth, almost like a flute.

Saw Waves

Saw WavesThese types of waves are a bit gritty. They are also referred to as "sawtooth", because the waveforms look like the teeth of a saw, sharply falling and slowly rising. These types of waves are very commonly used for melodies or counter melodies in 8-bit music. They can be thought of as the alto of the chiptune choir.

Saw waves sound dirty and have a bit of a buzz to them (go figure).

Square Waves

Square WavesThis is my favorite kind of wave. It represents a good blend between the sine wave and the saw. It's a bit buzzy, but maintains a smoothness at the same time. This is also commonly used for lead voices in 8-bit music, especially the main melody.

This waves is very malleable and lends itself well to effects and alterations.

Triangle Waves

Triangle WaveformThis sound is about as smooth as the sine wave. It moves steadily up and down with single points as peaks and valleys instead of curves, creating a shape that looks like a bunch of triangles.

This sound wave does not work well with sound effects, so it does not fill the role of lead very effectively. It is frequently used for bass lines. Since it can reach low pitches easily without creating any buzzing or feedback effects, it is well suited to low ranges.

How Soundwaves Work

Overtones, harmonics and Additive synthesis
by SynthSchool | video info

307 ratings | 38,514 views
curated content from YouTube

Learn More About Soundwaves

Here's a great book if you're interested in the science behind waveforms

Characteristics and Behaviors of Waves: Understanding Sound and Electromagnetic Waves (Library of Physics)

Amazon Price: $2.18 (as of 06/01/2012)Buy Now
List Price: $26.50
Used Price: $2.18

Channel 1 - Treble

8-bit melodyThe first channel to be discussed is almost always used for treble melody lines. It is usually produced as either a square or saw wave, although sine would work well too. This channel should be paid the most attention to detail. Effects like tremolo, vibrato, and delay can really shine. so when creating your main lead, treat it with the love and affection that it deserves. After all, it can be the tune that people walk away humming for days, or it can be the main reason that people turned the game off in the first place.

Channel 2 - Mid-Range

This channel is usually the backup to the melody. I like to think of it as the alto to channel 1's soprano. The line should be somewhat simple, but the main job of this channel is to fill out the harmony. With channel 1 singing the melody, and channel 3 pumping out bass notes, this channel has to pick up the harmonization left between.

Good waves to use for this are sine and saw, although square can be used as well. Some good effects to use on this channel are arpeggios and delays. In 8-bit music, the arpeggio effect creates rapidly played broken chords, perfect for filling out the harmony.

Channel 3 - Bass

Although we can't make it thump like Dubstep, we can still make a sweet bass line to complement any song. The best wave for this channel is the triangle. The nice thing here is that the triangle is very similar to a sine wave, so it can dip into the upper registers without impedance. This is great if you just need a couple more notes to create a tight rich sound up top.

Since this line does not stand out to the average gamer's ear as much as the melody voices, it is a good opportunity to emphasize the rhythm. Bass does not have to be intricate or overly complicated. It can be perfectly content to pluck out some syncopated root notes.

Channel 4 - Noise

While you were playing your favorite NES games, you may not have noticed that those percussion sounds you were hearing were really just noises. This channel can't make any of the waves we've talked about, but it can make scraping sounds, pops, clicks, and other noisy effects at different pitches and velocities. You can still add effects to this channel, but they will react differently than on the others, so it may take some playing around to get the desired effect.

Extra Channel - DPCM

This channel can be used to import sound files. It will however play them at a much lower quality than they original were, so don't expect to get some awesome voice-overs for your next NES style game. It's not used very often, so you shouldn't have to worry about it to much. If you're curious or intent on using it however, there's a great explanation of it in FamiTracker's Help files. Just click Help > Help Topics or press F1. The expand the folder that says "Interface" on the left, and click DPCM Editor at the bottom of the list.

Applied Knowledge

Learning to use soundwaves, channels, and effects in FamiTracker

8-bit Music Makers

Now that you know all the basics behind how chiptune tracks work, it's time to start making your own. FamiTracker is one of the best tools out there for creating 8-bit music. Basic knowledge of how to play the piano is a plus, because it is designed to use your computer keyboard to enter notes corresponding to the keys on a piano. But don't worry, there's no need to go out and get lessons if you don't know how to play. You'll pick up the program soon enough.

Tracker Programs

The beauty about trackers is that they can export to NSF format. That means that you can actually use them in creating the music an NES cartridge game. "Do they even still make those?" you ask? Why, yes they do! If you don't believe me, just check out Battle Kid.

- FamiTracker is free and open source. My personal choice for creating chiptune tracks.

- If you don't think FamiTracker is quite your thing, you can also try MilkyTracker. This program is also free and open source.

Other Resources

- If you're looking for a retro sounding plugin for your DAW (e.g. Reason, FL Studio, etc.), YMCK's Magical 8bit Plugin is pretty darn good.
(If you want to use this plugin but can't because you're DAW of choice is Pro Tools, you might be interested in checking out this tutorial on converting VST to RTAS.)

- If you're just looking for some quick 8-bit sound effects without all the hassle of learning one of the above programs, or if you just want some quick inspiration to get started writing your own chiptune track, you might want to try out SFXR. It is free, open source 8-bit music creation software designed to help developers who are trying to quickly make a retro game.
How to make 8-bit music

FamiTracker 

Setting up FamiTracker

Since this is my program of choice, I'm going to show you the basics of it, including setting up, entering notes, and adding effects.

When you first start the program, you will be shown the blank slate of a new song. Notice that the different channels are already set to certain waveforms. Channels 1 and 2 are set to "Square," channel 3 is set to "Triangle," channel 4 is set to "Noise," and there's an extra channel set to "DPCM." The large area in which all these are laid out is the Pattern Editor.

At the top left you will see a small box with a bunch of zeroes. This is the Pattern Selector. Next to that are the Song Settings and Song Information although those are pretty simple to figure out.

Editing an Instrument 

[Video] Editing an Instrument

Famitracker Tutorial Part 1 - The Instrument Editor and You
by 8BitDanooct1 | video info

401 ratings | 46,687 views
curated content from YouTube

Creating a Melody

Making and editing a new instrument

Maybe you've already written a song and you'd just like to make it 8-bit. If you haven't, you should at least go write a main tune right now or pick your favorite song from an NES soundtrack to replicate. If you need a little help understanding the theory behind writing a good melody, be sure to check out this page.

Once you have a good melody figured out, it's time to punch it in. First, we must create a new instrument, so we can edit the sound and effects. To do this, click on the leftmost icon in the row underneath the top left black box. After you do that, something should pop up in the black box that says "00 - New Instrument." Double click those words or click the rightmost icon in the same row.

A new dialog box will appear with several options. Check the box next to volume to turn it on. Now click the plus sign a few times where it says "Size." You can now click within the large lined area to edit the volume of this instrument as it plays each note. As you click, notice the numbers that pop up underneath the size editor. These tell what effect each line will have. For instance, if you have a sequence of numbers that read "10, 8, 6, 4, 2" whenever this instrument plays a note, the volume will start out at a rather loud 10 and work its way down to a gentle 2 where it will stay until the next note is played.

The effects other than volume can be useful too, but are a bit less rare for a melody line. Feel free to play around with the other effects. You can always easily undo anything if you add something unintentional.

The Keyboard Keyboard 

Entering Notes

To start adding notes for our new instrument to play, first you must press "Space." This makes the program go into edit mode. Now you can start playing your keyboard as if it were a piano. The diagram above shows how the bottom two rows of keys correspond to the notes on the piano. It works the same for the top two rows as well, but those will enter notes that sound an octave higher. So at any given point, you have full octaves to work with. You can change your range at any time by selecting an octave from the dropdown list in the top left of the program.

Think of each dashed row as a sixteenth beat, so every highlighted row represents a quarter beat. If for some reason you need to use thirty-second notes, just mentally halve the value of each line, so the highlighted rows will represent an eight beat. As you are entering notes, if you run out of space to work with, just press the plus sign next "Frames" under Song Settings.

Prefer to play on a real piano?

Make your life 100 times easier with a MIDI controller. What's that, you say? Why, it's a little piano that you can plug into your computer! This makes entering and editing notes so much easier, that you'll want to make music all day and night. It's works with pretty much any music creation software, too. Whether you get your kicks from FamiTracker, GarageBand, MuseScore, or all three and more, this thing will back you up every step of the way!

Alesis Q25 25-Note USB/MIDI Keyboard Controller

Amazon Price: $68.40 (as of 06/01/2012)Buy Now
List Price: $179.00

A quality controller from a great brand at a friggin' awesome price! You can't afford not to get this.

More Keyboards

Here are some other options for keyboards you clan plug in.

Loading

[Video] Entering Notes

Famitracker Tutorial Part 2 - The Pattern Editor
by 8BitDanooct1 | video info

177 ratings | 24,120 views
curated content from YouTube

Effects 

Adding Effects

There are several effects you can add or take away from any instrument at any time. Each effect is assigned a number or letter that you need to enter followed by two numbers that serve as parameters. First however, let's discuss a little more about layout of the note entering area.

You will notice that in each channel's column has a whole bunch of dots in it. Look closer and you will see that some of the dots are grouped together into columns of their own. The leftmost column has a group of three dots. When you click on these and enter notes, the dots will show what note, a dash, and what octave. If you entered notes, you'll also see the next column over with a group of two dots will say "00." These numbers represent which instrument is set to play the notes. If you had multiple instruments, whichever one was selected would play the notes. This is useful if you want to have different instruments with differing effects such as volume arpeggios, which can easily be edited in the instrument editor.

The next column contains a single dot. This is for the volume. Most everything in this program works based on hex. So the value for the volume could be anywhere from 0 to F. In case you're not familiar, basically it's like having everything set on a scale of 16. 0 is the quietest. As the value increases, so do the numbers until you get to 9. After that you start with the letter A and keep going until you have the highest value F.

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)

Volume Changes
This is one of the easiest and most useful effects you can use in FamiTracker. At any point through your song, you can change the value in the volume column, whether a note is being played at the same time or not. This is how we can create a delay effect. If you have the volume when a note is played set to F, you can drop it by a few degrees at a time, then spike it, and drop it again. For example, F, B, 7, 3, D, 8, 4, 1.

Other Effects
In addition to being able to change the volume on each line of the song, you can do the same to many other effects. The last column of dots is grouped in three. Here you can add and edit almost any effect you desire. The first dot tells what effect will be applied. The next two are for parameters that vary depending on the effect. We'll try adding tremolo here. So, pick a line and on the first dot of the effects column, type "7." In this case the next dot will represent speed. The third dot represents depth. If you're not sure what those mean, try playing around with them to see the changes they make.

In my example "Chippy" below, I entered "777" at first, "755" a little later, and "733" after that. If you try this, you will hear a great difference between the three.

As mentioned, there are many other effects you can add in. To many to talk about here in fact. To see the full list of effects and what to enter for them, click Help > Effect Table.

[Video] Adding Effects

Famitracker Tutorial Part 3 - Note Effects
by 8BitDanooct1 | video info

99 ratings | 15,977 views
curated content from YouTube

Need Some Inspiration?

8-Bit Jesus

Amazon Price: $8.99 (as of 06/01/2012)Buy Now

This is a masterfully crafted album by Dr. Octopus. In each track he remakes a classic Christmas carol in the style of a particular NES video game. Have a quick listen, and I guarantee you'll be hooked!

Continue Making Glorious Chiptunes!

That's about all you need to know to get started making 8-bit music. Just repeat all the steps we just did for the other channels, and before long you'll have a fully fledged 8-bit song to show off to your friends!

If you feel you need a little more knowledge about music and how to write a great song, be sure to check out How to Write a Melody.

Whenever you're done, FamiTracker's so nice it will let you export your song as either NSF or WAV. You've probably heard of WAV before, and that's the format you'll want to choose if you want to spread your creation around the internet, but if you really want to be authentic, you can save it as an NSF file. Then you can only play it in emulators and other such programs.

Example

Here's a song I made using FamiTracker.
Chippy
by orandze1 | video info

6 ratings | 660 views
curated content from YouTube

Mega Man X - Boomer Kuwanger

8-bit Remake

Mega Man X - 8-bit Boomer Kuwanger (Fortress Tower) (V.2) on Famitracker
by coatlesscarl | video info

58 ratings | 2,071 views
curated content from YouTube

Final Fantasy VII - JENOVA

8-bit Remake

Final Fantasy VII - 8-bit J-E-N-O-V-A (V.2) on Famitracker
by coatlesscarl | video info

76 ratings | 4,080 views
curated content from YouTube

Journey - Don't Stop Believing

8-Bit Cover

Journey - Don't Stop Believing 8 Bit Cover
by SoldierSide36 | video info

328 ratings | 48,963 views
curated content from YouTube

More Cool Stuff

Loading

Some Awesome Stuff

Get the boost you need to start making great music in a flash!
Loading

Make chiptunes completely from scratch

Here's a kit to get you started

This module only appears with actual data when viewed on a live lens. The favorite and lensroll options will appear on a live lens if the viewer is a member of Squidoo and logged in.

Add this to your lens »

Comments

  • JaredMDwyer May 24, 2012 @ 3:43 am | delete
    You rock dude! I'll be checking out your other lenses tomorrow at some point. Quick question: Do you know if YMCK's Magical 8bit Plugin, will work in ableton live 8?
  • orandze May 24, 2012 @ 1:03 pm | delete
    Thanks, man :D
    Ableton can use vst format so it should work fine.
  • Jason May 22, 2012 @ 3:01 pm | delete
    here's a good question, I'm also doing 6502 assembly, how do we use nsf music in nes files? I found no documentation on adding music to the nes prg/chr portion.
    I'd guess raw music data is prg code, but how do we use it in nes prg? I tried adding it in as a prg bank, then bank switching, but nope, didn't work
  • orandze May 24, 2012 @ 12:39 pm | delete
    Very good question indeed and you're right, there isn't a lot of documentation for this. As I deal mainly with DAWs in my field, this is stretching my knowledge a bit, but I'll give it a shot. From what I know, you need to make the track multisong, matching FamiTone's requirements, and convert each instrument into an assembly file. You can do this by exporting the nsf file to a text file (you need a plugin), and converting the text file to assembly. You can read more about this on this page.
  • orandze May 24, 2012 @ 12:40 pm | delete
    Bah, it stripped out the html link. Sorry about that. Here you go: http://shiru.untergrund.net/articles/programming_nes_games_in_c.htm
  • Andre May 1, 2012 @ 8:45 am | delete
    Hi Orandaze, I am just begining with this and I've replicated some songs on youtube but I don't understand how to translate tabs or chords of normal instrumental songs into famitracker. I understand doing that with replicating NES game songs but not replicating normal songs. If you get what I mean? Thanks!
  • orandze May 1, 2012 @ 11:36 am | delete
    Hiya Andre, no problem. First, know that tabs, chords, and sheet music are just visual representations of notes that you hear. Once you figure out what notes are being played, you can then find a note of matching pitch in famitracker or on an instrument. It's tricky converting real songs to 8-bit, because you'll never really get a true match in sound. Just think of your tracker program as an instrument in and of itself that you can tweak to come close to the sounds of real instruments. I hope that explanation helps. I've also just added an extra video of a song cover that will hopefully demonstrate it a bit better :)
  • Andre May 2, 2012 @ 4:55 am | delete
    Thank you so much for your help! Yes it does make more sense, the trouble I find is the pace, like the space between notes, I can't quite figure out that too well, any suggestions on what would help me understand more about these spaces? Like how to tabs/notes chords represent these?
    Thanks again! :)
  • orandze May 2, 2012 @ 11:45 am | delete
    Ah, ok. Each line represents a sixteenth note. Each highlighted line represents a quarter note. And each brighter highlighted line is a whole note. Have a look at this page for a better understanding of how the different types of notes correspond: http://www.musictheory.net/lessons/11
  • GLacharity Mar 29, 2012 @ 12:22 am | delete
    Excellent lens! I thought I knew a fair amount about 8-bit music, but you've got a text book's worth of info here - well done!
  • Load More

by

orandze

I am an ex-concert pianist. I currently teach piano and write music for a living. I make games and websites as a hobby.

Visit my website if you'd like...
more »

Feeling creative? Create a Lens!

Featured Lenses 

Loading