Overview
Built into the same chip as the CPU (2A03/2A07), the Audio Processing Unit gave the NES its distinctive sound. Two pulse waves handled melodies, a triangle wave provided bass, noise created percussion, and the delta modulation channel allowed rudimentary samples. Composers like Koji Kondo and Hip Tanaka turned these constraints into art.
Fast facts
- Channels: 5 total (2 pulse, 1 triangle, 1 noise, 1 DMC).
- Output: mono, mixed internally.
- Sample rate: varies; DMC plays at 4.2-33.1 kHz depending on rate setting.
- Integration: part of the 2A03 (NTSC) or 2A07 (PAL) CPU package.
Channel specifications
Pulse channels ($4000-$4007)
| Feature | Details |
|---|
| Duty cycles | 12.5%, 25%, 50%, 75% |
| Frequency | 54-28kHz range (11-bit period) |
| Envelope | hardware decay or constant volume |
| Sweep | automatic pitch bend up/down |
| Length counter | automatic note cutoff |
Triangle channel ($4008-$400B)
| Feature | Details |
|---|
| Waveform | 32-step triangle (no volume control) |
| Frequency | same range as pulse |
| Usage | bass lines, soft leads |
| Quirk | period 0 produces ultrasonic buzz |
Noise channel ($400C-$400F)
| Feature | Details |
|---|
| Modes | long (32,767 steps) or short (93 steps) LFSR |
| Frequency | 16 fixed rates |
| Usage | drums, explosions, sound effects |
DMC channel ($4010-$4013)
| Feature | Details |
|---|
| Format | 1-bit delta-encoded samples |
| Sample rates | 16 fixed rates (4.2-33.1 kHz) |
| Memory | samples must reside in $C000-$FFFF |
| Usage | voice, drums, complex sounds |
Register summary
| Address | Channel | Purpose |
|---|
| $4000-$4003 | Pulse 1 | Duty, envelope, sweep, period, length |
| $4004-$4007 | Pulse 2 | Same as Pulse 1 |
| $4008-$400B | Triangle | Linear counter, period, length |
| $400C-$400F | Noise | Envelope, mode, period, length |
| $4010-$4013 | DMC | Rate, sample address, length, output |
| $4015 | All | Channel enable/status |
| $4017 | Frame | Frame counter mode |
Programming techniques
- Arpeggios: rapidly cycle through notes to simulate chords.
- Duty cycling: switch pulse duty mid-note for timbre variation.
- Volume envelopes: software-controlled volume for more expressive decay.
- Echo: delay audio data in software for pseudo-reverb.
- DMC percussion: use samples for punchy drums unavailable in synthesis.
Expansion audio
Some cartridges added extra sound channels:
| Mapper | Extra channels |
|---|
| VRC6 | 2 pulse + 1 sawtooth |
| VRC7 | 6 FM synthesis channels |
| Sunsoft 5B | 3 PSG channels (AY-3-8910 compatible) |
| Namco 163 | up to 8 wavetable channels |
| FDS | 1 wavetable channel |
See also