What Actually Makes 8-Bit Sound "8-Bit"
The chiptune sound isn't about 8-bit samples — it's the fingerprint of sound chips that could only produce a few fixed waveforms, and the workarounds.
"8-bit music" is a slightly misleading name. The distinctive sound of a NES or Game Boy soundtrack has almost nothing to do with 8-bit sample depth — those consoles mostly didn't play recorded samples at all. What you're hearing is the output of a programmable sound generator (PSG): a chip that synthesizes a handful of fixed waveform types in real time, and nothing else. The constraints of that chip are the genre.
A fixed set of channels, not a recording
The NES's audio hardware (the APU) offers exactly five channels: two pulse channels, one triangle channel, one noise channel, and one crude sample channel used sparingly because sample data ate cartridge space. The Game Boy's chip is similar in spirit: two pulse channels, a wavetable channel, and noise. That short list was the composer's entire orchestra. Every melody, bassline, drum, and sound effect in those games is some arrangement of those channels — which is why so many games from the era share a family resemblance no matter who wrote the music.
Duty cycle: one wave, several voices
A pulse wave is a square-ish wave defined by its duty cycle — the fraction of each period the signal spends high. The NES pulse channels offer a few fixed settings: 12.5%, 25%, and 50% (plus an inverted 25% that sounds the same). Same pitch, same volume, noticeably different timbre: 50% is hollow and round, 25% is brighter, 12.5% is thin and reedy. Switching duty cycle was the cheapest way to get a "different instrument" out of the same channel, and rapid duty changes mid-note are part of the signature NES lead sound.
The triangle: a bass with no volume knob
The NES triangle channel is a stepped approximation of a triangle wave — built from coarse discrete levels rather than a smooth ramp, which adds a faint buzz that's part of its character. Its odd limitation: no volume control. It's either playing or it isn't. Composers used it almost universally for basslines (an octave below the pulse melody) and for tom-like drum sounds by sweeping its pitch down quickly — one of many cases where a hardware limitation hardened into a genre convention.
Why explosions are noise
The noise channel doesn't play a waveform at all. It's driven by a linear-feedback shift register (LFSR) — a simple circuit that spits out a pseudo-random stream of bits, which becomes a hiss. Two things make it musical: the playback rate is adjustable, which shifts the hiss's apparent pitch, and the NES version has a short-loop mode that repeats a 93-step pattern fast enough to sound metallic and tonal rather than random.
Every percussive sound in the 8-bit vocabulary is this channel shaped by an envelope: a burst of noise with an instant attack and fast decay reads as a snare or hi-hat; a longer, louder burst with the rate swept downward reads as an explosion. That's the entire recipe — filtered, enveloped randomness.
Envelopes ran at 60 frames per second
The chips had minimal built-in envelope hardware (a basic decay), so most expressiveness came from the game's CPU rewriting the sound registers on every video frame — sixty times a second. Vibrato was the CPU nudging the pitch register up and down each frame. The shimmering "chord" from a single channel is an arpeggio: cycling through a chord's notes one per frame, too fast to hear as separate notes, a workaround for having only two or three melodic channels. The music was less a recording than a tiny program executing in real time.
The same math, in software
Modern chiptune tools don't emulate the chips so much as re-implement the same synthesis directly: pick a waveform (square with a duty setting, triangle, or LFSR noise), apply an attack/sustain/decay envelope, optionally sweep the pitch, and you've reproduced the entire signal chain of a 1980s console voice in a few dozen lines of code. That's why generated retro effects sound authentic rather than merely lo-fi — the waveforms are the identity, and they're exact.
Spellkit's pixel sound generator works this way: it synthesizes square, triangle, and noise-based effects with envelope and sweep controls in the browser, which makes it quick to build jump, coin, hit, and explosion sounds that sit naturally next to pixel art — the same constraints, chosen on purpose this time.
