Chipgrid / Documentation / Reference
Sound chip
The four voices of the chip (two pulses, a triangle, a noise channel) and the silence operator. A voice plays when a bang touches it.
P pulse
Pulse voice: plays when a bang touches its left, top or bottom.
A pulse wave voice. P4C24 = octave 4, note C, duty 2 (50%), length 4 ticks. Optional drop: falls that many semitones over its length (laser! P6C04o). Uses one of the 2 pulse channels.
| Cell | Role | What it takes |
|---|---|---|
| left, above or below | bang * | fires it |
| right | octave | 0–8 |
| 2nd right | note | C D E F G A B, lowercase = sharp (c = C#), digits = semitones |
| 3rd right | duty | 0 12.5% · 1 25% · 2 50% · 3 75% |
| 4th right | length | in ticks (1–z = 1–35) |
| 5th right | drop | semitones to fall over the note |
History. Duty is how long the wave stays “up”: 0 = 12.5% (thin, nasal), 1 = 25% (the classic lead), 2 = 50% (the hollow square, like a clarinet: only odd harmonics), 3 = 75% — sounds exactly like 25%, it is the same wave upside down. The NES (Ricoh 2A03, 1983) and the Game Boy each had two pulse channels.
Example
# PULSE - example #
.
...4C4
.D4..S0123
..P4A.4
Every beat, D4 plays P: octave 4, note A, length 4. Its duty comes from a sequence 0 1 2 3 walked by a slow clock, so you hear the four pulse widths in turn: thin (12.5%), classic (25%), hollow square (50%) and 75% — which sounds exactly like 25%.
Try this
- Add a drop after the length:
.P4A.4o— a laser. - Change the octave
4into6, the noteAintoE. - Length
1= a short blip,g= a long tone.
G arpeggio
Arpeggio: a chord on one pulse voice, when banged.
A pulse voice that plays a chord by flicking through its notes 50 times a second. G3C24 = C major. Chord: 0 octave, 1 fifth, 2 major, 3 minor, 4 sus4, 5 major 7, 6 minor 7, 7 diminished.
| Cell | Role | What it takes |
|---|---|---|
| left, above or below | bang * | fires it |
| right | octave | 0–8 |
| 2nd right | note | C D E F G A B, lowercase = sharp (c = C#), digits = semitones |
| 3rd right | chord | 0 oct · 1 5th · 2 maj · 3 min · 4 sus4 · 5 maj7 · 6 min7 · 7 dim |
| 4th right | length | in ticks (1–z = 1–35) |
History. With only 3–4 voices, composers faked chords: the notes change so fast the ear fuses them. That warbling shimmer is the Commodore 64 sound (Rob Hubbard, Martin Galway, Chris Hülsbeck).
Example
# ARPEGGIO - example #
.
...8C4
.D8..S2367
..G3C.8
G plays a chord on one voice, flicking through its notes 50 times a second. Every 8 ticks the chord type changes: major (2), minor (3), minor 7 (6), diminished (7) — all on C.
Try this
- Change the steps to
2222and the rootCinto a sequenceSCAFG: a chord progression (see “Chords & bass”). - Try chord
0(octave) and1(fifth): power chords.
B triangle
Triangle voice (bass, kick), when banged.
The triangle channel: B2C4 = octave 2, note C, 4 ticks. With a big drop it becomes a kick drum: B3C2o falls 24 semitones in 2 ticks.
| Cell | Role | What it takes |
|---|---|---|
| left, above or below | bang * | fires it |
| right | octave | 0–8 |
| 2nd right | note | C D E F G A B, lowercase = sharp (c = C#), digits = semitones |
| 3rd right | length | in ticks (1–z = 1–35) |
| 4th right | drop | semitones to fall over the note |
History. The NES triangle is built from 32 steps of 4 bits (16 levels up, 16 down) — a staircase, with a faint buzz a pure triangle doesn’t have. It has no volume control, only on or off: that’s why NES basslines are so even, and why kicks “steal” the bass.
Example
# TRIANGLE - example #
.
...2C8
.1D2.SCCGGAAFF
...B2.2
.
.D4
..B3C2o
Top: a bassline on the triangle, two ticks per note. Bottom: a kick — the same triangle with a big drop (o = 24 semitones in 2 ticks). There is only one triangle channel, so every kick steals it from the bass: listen to the bass cut out on each beat, just like on a NES.
Try this
- Change the kick’s drop
ointoc(12): a tom. - Delete the
D4: the bass plays uninterrupted. - The triangle has no volume: try a melody on it, octave
4.
N noise
Noise voice (hats, snare), when banged.
The noise channel: N520 = pitch 5, length 2, mode 0. Pitch 0–f picks one of 16 clock speeds (0 = highest hiss, f = low rumble). Mode 1 = metallic, pitched noise. Hats: N010, snare: N530.
| Cell | Role | What it takes |
|---|---|---|
| left, above or below | bang * | fires it |
| right | pitch | 0 = high hiss … f = low rumble |
| 2nd right | length | in ticks (1–z = 1–35) |
| 3rd right | mode | 0 = hiss, 1 = metallic |
History. It’s a 15-bit shift register (LFSR): every clock, two bits are XOR-ed and fed back in. It looks random but repeats after 32,767 steps. In mode 1 it taps bit 6 instead of bit 1 and loops after only 93 steps — short enough to hear a pitch: the metallic sound.
Example
# NOISE - example #
.
.1Cg
...S*0*0*0*0*0*0*0*0
..J.N010
...S0000*0000000*000
..J.N530
...S000000*000000*0*
....N421
Three noise sounds from one channel: N010 pitch 0, very short — a hi-hat. N530 lower and longer — a snare. N421 mode 1 — the short metallic loop that sounds pitched.
Try this
- Change the snare’s pitch
5intoc: a low rumble. - Set the hats’ mode to
1: metallic hats. - Length
8on the snare: a crash.
- silence
Silences all sound: -14 = 1 beat of silence every 4 beats.
Silences all sound for rest beats out of every cycle beats. -14 is 1 beat of silence every 4, and the silence falls at the end of the cycle, so the music drops out and comes back on the downbeat. Notes still ringing are cut, and voices don’t play during the silence. Everything else keeps running: clocks, movers and the screen. -34 leaves 1 beat of sound in 4. With several -, any one of them silences. In multiplayer it silences only the chip of whoever typed it: for a break together, share a bang with an uppercase link (see @).
| Cell | Role | What it takes |
|---|---|---|
| right | rest | beats of silence, at the end of the cycle |
| 2nd right | cycle | length of the cycle, in beats |
Example
# SILENCE - example #
.
.1Cg
...S*000*000*000*000
..J.B3C2o
...S00*000*000*000*0
....N010
.
.-14
A steady kick and hat, with -14 below. Every bar has 4 beats, and the last one is silent: the groove stops dead, then lands back on the downbeat.
Try this
-28: two beats of silence every two bars, a bigger drop.- Put a clock on the first input and the length of the gap changes by itself.