Chiptune Tracker

A four-voice chip synth with a step grid in front of it: two pulse channels with selectable duty, a triangle, and a noise register. The synth is integer-only, so a song renders the same bytes here, in the test suite and from chiptune-cli on your own machine, and the WAV you export is that buffer; what your speakers actually play is resampled by the browser at its own rate and is deliberately not part of the claim.

Nothing here makes a sound until you ask it to. No audio starts before you press Enable audio, the level ramps in gently, and a limiter sits across the output. Headphones can still be loud, so start quiet.

Rendered when the site was built, by the same core the browser runs: the demo song Overworld, written out as the tracker grid that produces it. A browser cannot make a sound without JavaScript, so there is no audio on this page. The music is here as the grid, and chiptune-cli render song.json --out song.wav turns that same grid into the same bytes on your own machine.

Song
Overworld
Summary
2 patterns · 4 chain slots · 64 rows · 120 BPM · 176256 samples at 22050 Hz · 7.993 s
Pattern chain
00 00 01 00
Render
176256 samples at 22050 Hz, 16-bit mono
How to read a cell
FieldExampleWhat it means
NoteC-4The note struck here, from C-0 up to B-7. Three dashes means this cell starts no new note and whatever was playing carries on.
VolumecOne base-16 digit, 0 to f, so sixteen levels fit in one column. A dot means the cell says nothing about loudness; a 0 is the note off.
EffectA47An arpeggio: the pitch cycles through the note, four semitones above it and seven above it, once per tick, six ticks to a row. Three dots means no effect.
EffectS+3A slide: the pitch bends up three parts in 1024 on every tick, and keeps bending into the rows that follow until a new note lands. S-3 bends down.
ROW  PULSE 1    PULSE 2    TRIANGLE   NOISE    
00  C-5 c ... C-4 8 A47 C-2 d ... F#2 b ...
01  --- . ... --- . ... --- . ... --- . ...
02  E-5 c ... --- . ... G-2 a ... F#4 5 ...
03  --- . ... --- . ... --- . ... --- . ...
04  G-5 c ... F-4 8 A47 F-2 d ... F#3 9 ...
05  --- . ... --- . ... --- . ... --- . ...
06  E-5 b ... --- . ... C-3 a ... F#4 5 ...
07  --- . ... --- . ... --- . ... --- . ...
08  F-5 c ... G-4 8 A47 G-2 d ... F#2 b ...
09  --- . ... --- . ... --- . ... --- . ...
10  E-5 b ... --- . ... D-3 a ... F#4 5 ...
11  --- . ... --- . ... --- . ... --- . ...
12  C-5 c ... C-4 8 A47 C-2 d ... F#3 9 ...
13  --- . ... --- . ... --- . ... --- . ...
14  --- 0 ... --- . ... G-2 a ... F#4 6 ...
15  --- . ... --- . ... --- . ... --- . ...
ROW  PULSE 1    PULSE 2    TRIANGLE   NOISE    
00  G-5 c ... G-4 8 A47 C-2 d ... F#2 b ...
01  --- . ... --- . ... --- . ... --- . ...
02  F-5 c ... --- . ... G-2 a ... F#4 5 ...
03  --- . ... --- . ... --- . ... --- . ...
04  E-5 c ... F-4 8 A37 F-2 d ... F#3 9 ...
05  --- . ... --- . ... --- . ... --- . ...
06  D-5 b ... --- . ... C-3 a ... F#4 5 ...
07  --- . ... --- . ... --- . ... --- . ...
08  C-5 c ... D-4 8 A37 G-2 d ... F#2 b ...
09  --- . ... --- . ... --- . ... --- . ...
10  --- . ... --- . ... D-3 a ... F#4 5 ...
11  B-4 b ... --- . ... --- . ... --- . ...
12  C-5 d ... C-4 9 A47 C-2 d ... F#3 9 ...
13  --- . ... --- . ... --- . ... --- . ...
14  --- . ... --- . ... G-2 a ... F#4 6 ...
15  --- 0 ... --- . ... --- . ... --- . ...
About this toy1 command
Use it locally This toy has a native command line twin. Build chiptune-cli from the site's source with:
cargo build --release --bin chiptune-cli
Source and licence terms