listen to Ozzed on Spotify

Do you love 8-bit music and want to know how to make your own tunes? You have come to the right place :)

Introduction

This is a guide on how to make 8-bit/chiptune music. The guide will be focused on covering these topics:

This is mostly a technical guide, and I will be talking mainly about the Nintendo Entertainment System (Famicom in Japan) as I base most of my own music (which you can find here on the site) on the NES's sound chip and its properties.

If you like this guide and find it useful, please concider making a donation. I truly appreciate your support, and every little bit makes a huge difference! ❤

The Basics of Chip Music

So, first things first, what exactly is "8-bit music"? Why is it called "8-bit music" "chiptune", "chip music" and so on? Well... In old video game consoles, the processors could send and receive 8 bits of information at a time, called a "word" which were 8 bits in length, so they were reffered to as "8-bit consoles", and the music featured in the games for the consoles thus came to be known as "8-bit music". The processors in these consoles were custom-built for their purpose, because that was cheaper at the time than the general purpose processors used in today's consoles and computers. They also had a chip actually generating the sounds (called a synthesizer), rather than a sound card that simply processes sound-files, as memory was very limited and synthesizing sounds take up less memory than storing and processing sound files; hence the term "chip music", because the sound chip generated the sounds on the fly.

A basic element of "true" chiptune music is simple waveforms, such as Pulse, Sine, Triangle, Sawtooth and Noise.
If you want to make music based on a specific chip, you should know about, and stick to, the properties, features and limitations of that specific chip, and the waveforms it can generate, as well as in what way they can be modified on that chip, or you won't get a genuine sound. after all, authentic chiptunes were played on real consoles so there were no way around the limitations, which is why it's best to pich a system, learn the specifications of that sound-chip, and then stick to it if you want your music to sound truly genuine and true to the nature of the system you have chosen.

To achieve the limitations without having to do a bunch of tedious work, it might be good to use a tracker or other software specifically designed to emulate the chip you want your music to be based on.

There are trackers you can use directly on the hardware, meaning that the music you create will be generated with the actual sound chip of the hardware you are using. The most prominent examples I can think of are Little Sound Dj and Nanoloop. Both used for the Nintendo Game Boy on an actual cartridge.

If you don't have access to or don't want to use the real hardware, there are trackers that emulate sound chips very close to the original sound. The most prominent example I can think of for that is Famitracker, wich has the exact same sound types and channels supported by a Famicom/NES sound chip (and all of its expansion chips). You can even export NSF-files which can be loaded onto NES-catrriges and played on an actual NES! So if you want to make chip music and be sure to succeed, use Famitracker. Even if what you produce won't sound good, it will at least be playable on an actual NES, and by definition, be chip music.

As Famitracker has excellent documentation and very well written tutorials (found through a search engine near you) I won't be going into detail on how the program works, but It's pretty easy. I made my album "8-bit Empire" in about a month and had never played around in Famitracker before that, si ur's very easy to get started and just let your creativity do the rest.

If you want to hear some examples of what you can do with Famitracker, you can check out these albums that I made using it:
8-bit Empire
Cor Metallicum
8-bit Run 'n Pun
Dunes at Night
Friendship Adventure
Crystal Caves HD Original Soundtrack

If you don't want to use software made to emulate a specific chip, but still make your work sound like chip music, keep reading and you'll find the specifications and capabilities of the most common systems that are associated with 8-bit music.

Nintendo Entertainment System/Famicom

The NES sound chip is called Ricoh 2A03 (NTSC 60Hz) or Ricoh 2A07 (PAL 50Hz). It has five mono-channels. Two of them feature pulse wave channels with a variable duty cycle of 12.5, 25, 50 and 75%. The volume for these channels can be set to 16 different levels. Hardware pitch bending is possible and the frequencies used range from 54Hz to 28kHz.

There is a fixed volume (on or off) triangle wave channel with pitch bending. Frequencies on that channel range fron 27Hz to 56kHz.

There is also a white noise channel with 16 volume levels and 16 pre-set noise frequencies. The frequencies that can be produced ranges from 29.3Hz to 447kHz, and aside from the pre-sets, frequency sweep is also possible. Additionally there is a 7-bit differential pulse-code modulation-channel (DPCM) capable of playing any sound up to a sanple rate of 33143.9Hz, Though you should keep in mind that the size limit för each sample is a maximum of 16384 bytes, so if you want your music to sound genuine, stay within that limit.

Famicom Expansion Audio

The NES did not support exatra audio chips but the Famicom did, so if you feel that the native sound of The 2A03/2A07 is not enough to satisfy your needs you can always add the sound from the expansion chips the Famicom supported, and still be compliant. Below is a description of the supported chips and their audio-characteristics, admittedly, some of them would be very hard to imitate without using an actual emulator to make sure you stay true to the specifications, but all of them are supported in Famitracker so you'll always have a "last resort" if you feel things get out of hand.

Nintendo MMC5

The Nintendo MMC5 adds 2 more pulse channels, which function identically to the ones that the 2A03/2A07 except that they don't support hardware sweep, but everything else is the same. There is also a third channel which plays 8-bit raw PCM-samples, though this is not supported in Famitracker.

Nintendo FDS

The Nintendo FDS was the chip used in the Famicom Disk System. It adds a 64-step customizable waveform. with 64 steps in each direction, so 64 steps in both "height" and "width", the waveforms pitch can slso be modulared in 4096 steps.

Konami VRC6

The Konami VRC6 adds 3 extra channels. There are 2 square wave channels with 8 duty cycle settings: 6.25%, 12.5%, 18.75%, 25%, 31.25%, 37.5%, 43.75%, and 50%. There's also a sawtooth channel, The usable volume range for all 3 channels are the same as on the 2A03/2A07. The sawtooth channel technically has 5 bits for volume control, but the sounf will be distorted if you go above 15, so in practice its usable range is 0-15.

Konami VRC7

The Konami VRC7 uses a custom version of the Yamaha YM2413 OPLL with a fixed patch set, so it would be exceptionally hard to mimic acurately if you're not using Famitracker or other software that can emulate the chip accurately, There are 6 channels and 16 instruments, of which 15 are hard coded and can not be changed, the instruments are: Buzzy Bell, Guitar, Wurly, Flute, Clarinet, Synth, Trumpet, Organ, Bells, Vibes, Vibraphone, Tutti, Fretless, Synth Bass, and Sweep. The custom channel supports a sine wave as well as a half-wave rectified sine wave with controls for ADSR. As far as effects go, there's a fixed vibrato at 6.4hz and tremolo at a fixed 3.7hz, The chip does not use mixing for output, but rather the channels are time shared via serial output. This occurs at a high enough frequency that there should be no audible difference. I strongly encourage you to check out the FamiTracker implementation, as the complexity of the chip makes it very difficult to reproduce the correct sound without an emulator that makes sure you stay within spec.

Namco 163

The Namco 163 adds up to 8 extra wave channels with a custom lengrh for the waveform, though FamiTracker and other trackers and emulators currently supports a maximum length of 32 steps. the amplitude of the wave can be set to 16 different levels, like the VRC7, output mixing is not used, but rather, the DAC is shared by all channels so using more than 6 channels will produce unpleasant switching noice, most games only used 4 of the channels, alsp, because the DAC is ahared between the channels, the maximum frequency range will be reduced the more channels you use. This is another one of those chips that would be hard to mimic, so once again it's best to use Famitracker if you want to get the accurate sound.

Commodore 64

The SID-chip of the Commodore 64 is perhaps what first comes to mind for many people when we talk about "chip music", and rightfully so, as it was thanks to the polyphony of the SID-chip that it was possible to make advanced music on a computer for the first time, and the demoscene was started.

The SID-chip has three channels which supports pulse (with full control over the duty cycle), sawtooth, triangle and noise waveforms, with frequencies ranging from 16-4000Hz. Each channel also has a ring modulator which makes it possible to essentially mix different waveforms, which creates the characteristic "SID-sound", as well as an attack/decay/sustain/release volume control. There's also a multi-mode filter with low-pass, high-pass and band-pass. It is possible to combine the different filter effects to create additional effects.

Amiga 500

The sound chip of the Amiga 500, the most popular computer of its time when it came to producing MOD-music, is called Paula and has 4 channels with 8-bit PCM and a frequency of a maximum of 28kHz. The volume and sample rate can be modified individually for each channel. Two channels are mixed for output to the right channel, and two are mixed to the left channel. The MOD-files are built up of sample sounds and as such, unlike the NES-sound chip, the sound chip of the Amiga 500 cannot generate sound on its own. Although the sound is based on samples, and in theory you can stuff in whatever you like as long as the memory limitation will allow it, it is more common to use a looped sample that consists of one cycle of the wave-forms described below, because conserving memory was very much a concern "back in the day". So doing it that way will give you the old-school sound you're looking for.

There is no way to make "true" chip music on the Amiga 500, as, like I said, the sound chip itself does not generate any sound on its own, but a simple to use, yet flexible program I can recommend if you want to make MOD-music is Milkytracker. If you want some examples of what you can do with it, you can check out these albums I made where I use it for some of the tracks:
Lesser than Three
Nackskott

Nintendo Game Boy

The Nintendo Game Boy is quite similar to the NES in that is has 2 Pulse Channels and a noise channel, but there are also differences. First off, only the first pulse channels has frequency sweep, and there is also not a Triangle channel. Instead, there is a "freeform" wave channel that can play any sound, based on 32 4-bit programmable samples. Additionally, the channels are in Stereo so you can get an additional dimension to your sound here. The "master level" Of the left and right channel outputs can also be individually controlled.The frequenzy range for the pulse and freeform wave channels is 64Hz-131072Hz. And 2Hz-1048576Hz for the noise channel. Therse was no dedicated audio chip on the Game Boy, instead, Sharp LR35902 handles both audio, video, and most other things related to the operation of the system.

SEGA Master System and Game Gear

The SEGA master system and Game Gear uses the Texas Instruments SN76489 to produce sound. It is in a way simpler then the NES's Ricoh 2A03, but also quite similar, the chip supports 4 square wave channels with a fixed duty cycle of 50%, 16 volume levels with a frequency range of 109Hz to 18643Hz, and a noise channel that can either produce white noise, or periodic noise in 3 levels, low, mid and high frequencies, and the volume can be adjusted in 4 different levels. For the Master System, only mono is supported But with the Game Gear you can get limited stereo support in that the channels can be played in either the left or right channel. Gradual panning is not supported. The effects that can be used are pretty much the same as for the NES, except they apply to 3 square wave channels instead of 2, and the triangle channel is absemt. If you are familiar with Famitracker, I recommend checking out SnevenTracker. It's a fork of Famitracker with adaptations to follow the limitations of the SN76489 instead of the Ricoh 2A03, so it'll be super easy to get started making SEGA Master System music if you are comfortable with the user interface of Famitracker.

Now you might understand why it is easier to use software dedicated to the task rather than trying to simulate the sound, but if you're dead set on not using a tracker which by design abides by the limitations of a specific chip, now you know what limits you need to follow to get authentic-ish sounding tunes.

Chip Music Waveforms

OK, so now you know the basics, and some common systems you can use as a point of refference. Now it's time to look at the actual part that gives chiptune it's distinguised sound and feel; Thw waveforms.

Waveforms can be thought of as the smallest possible unit of sound. Sound is vibration, and a waveform is the "shape" of that vibration. Different shapes give different types of sound, and below you will find the ones most commonly used when making 8-bit music.

Pulse

This is an image of a pulse waveform, commonly used when composing chip music
This is a very interesting waveform as it is possible to adjust the duty cycle of the sound wave in order to produce different flavors of the sound. The closer to 50% (half the time on, half the time off) you go, the more hollow it will sound. If you set a very high or very low duty cycle you will get more of a creaking, almost raspy sound. This waveform is mostly used for the melodious part of the song as the two channels on the NES can be used to create neat chorus, but it is also in my opinion well suited as bass, depending on what sound environment you want to achieve.

Sawtooth

This is an image of a sawtooth waveform, commonly used when composing chip music
Sounds very "sharp" and can be used both for melodies and bass. Its clear, crisp sound makes it especially suitable for arpeggios. This waveform can not be used natively on the NES (Though it is commonly used on it's sibling, the Famicom Disk System, which does support it), and a lot of Amiga music composers use this wave form frequently.

Triangle

This is an image of a triangle waveform, commonly used when composing chip music
At low frequencies this waveform is commonly used as bass in NES compositions. At high frequencies it produces a "flute-like" sound. It can also be used as tom-tom drums by sliding from high to low frequencies rapidly. Keep in mind that this channel has a fixed volume on an NES, meaning it is either on or off.

Sine

This is an image of a sine waveform, commonly used when composing chip music
Is the waveform that most resembles that of an acoustic guitar. The sound is even and soft. It is best used at higher frequencies where it sounds a bit like whistling. At low frequencies it can be hard to hear the difference between notes.
This waveform does not exist natively on a NES unless manually shaped on the DCPM-channel.

Noise

This is an image of a noise waveform, commonly used when composing chip music
This "waveform" is commonly used for drums, as, if shaped correctly, noise can sound quite similar to drums. High frequencies are best suited for hi-hat/ride, mid frequencies for snare, and low frequencies for bass drum or kick.

It can be difficult before you learn how to shape the noise correctly. I would suggest using a quick linear fadeout as the baseline and then tweak it until you're happy with how it sounds.

Effects

When working with trackers, you are not going to be able to make very fun music if you don't know your way around the effects you can use to modify the sound. I will add more with time, and focus especially on the ones that I think are significant to chiptune music.

Arpeggio

If you want to comply to the limitations of a specific sound chip, you are usually limited to just a few sound channels, as I was describing earlier. A problem you might be facing is that making full chords would use up a lot of channels and also prevent you from playing any other sounds on those channels as the chord is playing, so doing it in the intuitive way isn't the optimal way to do it. To get around this "limitation" there is the arpeggio effect. What it does is it rapidly loops through several different notes after one another on the same channel, thus achieving a "chord". This is known as an arpeggio in musical terminology. In most trackers, it is represented by effect 0, and supports 2 notes after the base note. To make a chord, you simply set the number of semitones after the note you pressed. So, if you want to make a regular major chord, you will put "047" in the effect column after the note. Be aware that the effect continues to affect subsequent notes until you set a different effect or no effect. This is standard behavior for most trackers. The result you get is very characteristic to 8-bit music, as the effect is very commonly used.

Slide up/down

The slide effect slides the pitch of the note up or down at a set speed. The effect is probably more used in a sound effects context, but can also be useful when making music. For example, adding a slide effect at the end of notes can make them sound more lively and interesting. You can also use slide to create a transition effect between notes, though I personally prefer the automatic portamento effect for that. Effect number varies by tracker. In Famitracker and Milkytracker it's 1xx for slide up and 2xx for slide down, where xx is the speed you want the note to slide at. If you stop the effect by setting 00 for speed, the pitch will remain at whatever it was at when the effect was activated for the remaining duration of the note.

Portamento

The Portamento-effect is similar to the slide effects, except it always slides to the pitch of the next note, so it's a neat way to create smooth transitions without having to do manual calculations to make the transition seamless. Usually, the effect is 3xx where 3 is the effect number and xx is the number of steps in pitch units for every tick, so a higher number slides to the next note faster, and a lower number slides to the next note slower.

Vibrato

To add vibrato to a note (pitch up and down), effect 4 is used in most trackers, including Famitracker and Milkytracker. The first number sets the speed, and the second sets the depth of the vibrato. For example. "425" results in a vibrato with a speed of 2 and a depth of 5. The effect is persistent until it is stopped. To stop the effect, set the speed to 0. Vibrato can be very useful if you want to add more vibrance and variation to an instrument. If used with finesse, some really cool-sounding stuff can be made!

Tremolo

The tremolo effect is basically "vibrato for the volume", meaning that rather than the pitch, it is the volume that is affected, but in the same manner. The effect number in Famitracker and Milkytracker is 7, and the first number sets speed, the second number sets depth. For example. "725" results in tremolo with a speed of 2 and a depth of 5. And the fact that it can be a very useful effect to add more vibrance to your notes also holds true for tremolo.

Finding inspiration

If you need some inspiration to get started I suggest listening to my playlist "8-bit, chiptune, bitpop" on Spotify, embedded here. It has my own chiptune music, as well as a wide variety of different artists and styles within the genre, and I update it on a regular basis. Hopefully you can find something you like, and feel free to share it with others if you do :)

Final advice

As a last tip: A lot of the beauty of chip music lies in making rich compositions from seemingly scarce resources. Try to get the most out of every channel. You can make any styke of music you want, as chiptune is really more of a "sound profile" rather than a genre, so even though it's best to stick to the limitations of a specific chip to get an authentic sound, you have endless freedom when it comes to styles. Just like with any music, you will develop your own style when you have experimented for aehile. And again, if you want inspiration to get you started I encourage you to check out the playlist I mentioned above. Good luck! :)

Sources and Resources

Below you will find the sources used for the information on this page, as well as useful recources for when you are ready to start making your own chiptunes.

General information about chiptunes and 8-bit music.

NES/Famicom specifications.

Famicom Expansion Audio.

Commodore 64 SID-chip specifications.

Amiga 500 Paula chip specifications.

Nintendo Game Boy specifications.

Sega Master System and Game Gear specifications.

Information about different waveforms.

FamiTracker.

Milkytracker.

SnevenTracker.

Little Sound Dj.

nanoloop.

Loading Comments