It is composing
ahead of what
you are hearing.
A 3.3 million parameter transformer, trained from scratch on 1,034 public-domain folk tunes, running entirely inside this tab. The bars to the right of the playhead have already been written. Nothing is streamed, nothing is generated on a server, and nothing you do here leaves your device.
3.3 MB of weights. Downloads once, then works offline.
- Parameters
- 3,339,008
- Training data
- 1,034 tunes · public domain
- Trained on
- one laptop, ~30 min
- Inference
- your browser, 0 servers
- Cost per minute
- $0.00
Sampling temperature. Low is safe and repetitive; high invents, and occasionally rambles.
What this is, and what it is not
It is a real model
Every note you hear was sampled, token by token, from a decoder-only
transformer whose weights were trained here from random initialisation.
There is no API call, no pre-rendered audio, and no rule-based composer
underneath. Open the network tab: after the initial
model.bin download, the page makes no further requests.
It writes symbolic music — notes, durations and chord symbols — which a small synthesiser in the page turns into sound. That is the reason it can be this small. Models that generate audio waveforms directly are three to four orders of magnitude larger and cannot run client-side.
It is a deliberately small model
1,034 tunes is a tiny corpus and 3.3M parameters is a tiny model. It has learned the grammar of a specific tradition: it will not write you a trap beat or sing. What it demonstrates is the part that generalises — the tokenisation, the training loop, the quantised export, the client-side runtime, and the scheduler that keeps audio glitch-free while the model composes ahead of it.
The write-up covers how this compares to Suno, Udio, Lyria and the open audio models, what each approach costs to run, and where the legal exposure sits.