Write music for the NES sound chip’s four voices on a step grid, hear it loop as you edit, and download it for a game, a video, or a DAW.
The four channels
| Channel | Wave | Usual job |
|---|---|---|
| Pulse 1 | pulse at 12.5, 25, or 50% duty | melody |
| Pulse 2 | pulse at 12.5, 25, or 50% duty | harmony, counter-melody, arpeggios |
| Triangle | 32-step stepped triangle | bass |
| Noise | 15-bit noise register | drums |
Each channel plays one note at a time. Pick a channel above the grid, then click cells to place notes. Clicking a filled cell clears it, and clicking another row on the same step moves the note there. A new note plays as you place it, so the grid can be written by ear.
Rows are the scale
The grid’s rows are the notes of the key and scale you choose, two octaves of them. The pulses start at middle C plus the key, and the triangle two octaves below. In C major there are no wrong notes to click, and changing the scale to minor moves every note to the minor scale’s degree at the same row. The major and minor pentatonic scales and the blues scale suit fast runs; chromatic gives all twelve notes for writing anything at all.
Note length
Each melodic channel has a length setting:
- One step ends the note just before the next step, the detached sound of most chip melodies.
- Hold to the next note sustains it until the channel’s next note, for slurred lines and long bass notes.
- Fade out (pulse only) steps down the chip’s sixteen volume levels over about a second, which is how NES composers faked a piano or a plucked string.
The noise channel
The noise channel’s four rows are the chip’s noise register clocked at four of its sixteen rates. A slow clock gives a low rumble for the kick, a fast one a hiss for the hi-hat. Each hit decays through the sixteen volume steps and stops when the next hit starts.
Chip details
The triangle is not a smooth ramp. The chip stepped it through 32 levels per cycle, and those steps add a faint buzz that is part of the NES bass sound. Volume on the pulse and noise channels moves in sixteen steps, never smoothly, so a fade is a staircase.
The noise is the chip’s 15-bit linear feedback shift register. It is computed once, 32,767 values long, and read at the clock rate of each row, so a hit sounds the same in the loop, in the WAV, and every time it plays.
Loop or let ring
Loop writes exactly the number of repeats, with any note held over the end of the pattern already sounding at the start of the file, so it repeats with no gap. Let ring starts from silence and adds a short tail for an ending. The MIDI file puts the pulses on channels 1 and 2 with a square-lead program, the triangle on channel 3 as synth bass, and the noise hits on channel 10 as kick, snare, closed hat, and crash.