☰ SECTIONS

← Concordance

NOTICENothing here is for sale, and there isn't even a till: everything here is free, everything is an experiment, and all of it is for fun. Touching the displays is encouraged.

Concordance · how it's made

Music → chimes → montage

This is how it's made.

It isn't a video model, and it isn't one prompt. A chime is a small program: one HTML file, written with Claude over many sessions, one feature at a time. It holds a board of little drawings that listens to a song and moves with it. When you play it, it draws every frame itself, live, from the music: nothing is generated, nothing is pre-rendered, and recording a take is simply filming that program while it plays.

The boards here are fun for people like me who like to montage things. But a chime can look like almost anything: its look comes from the prompts that shaped it and from how its frame is composed, so two chimes can share nothing but the idea.

TWO ROADS ON THIS PAGE

▶ MAKE A VIDEOwith the boards as they are: music, chimes, take, montage, then the kit ✎ BUILD YOUR OWN CHIMEwhat a chime is made of, the LAB, and starter prompts for your AI
1 · MUSICa song written as text, or any song you have
2 · CHIMESa board of little machines hears it and moves
3 · TAKErecord the board and the sound, in sync
4 · MONTAGEa choice: masks, layers, screens, loops

▶ Part one · make a video with the boards

1The music

Two ways in. Bring any song (an mp3, m4a, wav or mp4), or write one for MODEL B-1 · the band: a song there is a sheet, a small text file where one token is one sixteenth note. The band reads the sheet and plays it with voices built from oscillators and noise, so there are no borrowed samples. Then ⤓ WAV renders the whole song, note by note, to a file. No sheet to write? Press ✎ SONG BUILDER: pick a style, a key, the chords and the parts, and the band writes the song for you. To make music right in your browser, open THE RUSTY DOOR from the TOOLS screen on Concordance: the band and the line editor in one music editor, three ways in (compose a whole song, write it in blocks, or as code), kept as code or as a WAV / M4A.

"beat": {
  "kick":  { "inst": "linn kick",   "seq": "x...x...x...x..." },
  "snare": { "inst": "gated snare", "seq": "....x.......x...", "fx": ["reverb"] }
},
"pads": {
  "pad":   { "inst": "PWM pad ♪",   "seq": "Am@3 -*15 | F@3 -*15", "fx": ["pump", "reverb"] }
}

That's a kick on every beat, a snare on two and four, and a pad holding A minor then F, ducking under the kick. The full sheet format is in the kit's READ ME.

2The chimes

A CHIMES board is a 9 × 9 face of small machines, like a puzzle cube: records, cassettes, an EQ, a mirror ball, a sinking sun. Load a song and the board listens first, finds the beats, then plays: on the beats, whole rows and columns slide, and every machine answers the sound in its own way.

✋ The boards are interactive. While it plays, drag a row or a column with your finger (on an iPad or a phone) or the mouse, and it slides like a puzzle cube; the little machines react to being carried. You play along with the song.

THE ARCADE hearing a song · nine seconds, with sound · press play
The Arcade board: neon tiles on indigo
THE ARCADE · neon after closing
The Memphis '85 board: squiggles and triangles on cream
MEMPHIS '85 · squiggles on cream
The Observatory board: stars and orbits at night
THE OBSERVATORY · a night on the roof
The Euclid by Day board: rhythm drawn as geometry
EUCLID BY DAY · rhythm as geometry
The First Board: fans, wheels, hexagons and bars on black
THE FIRST BOARD · where it began
The Ink and Paper board: ladybirds, daisies, snails and birds drawn in ink
INK & PAPER · drawn by hand, in code
The Reef board: coral, anemones and currents on dark water
THE REEF · coral and current

A board can be fed two ways. Hearing: it listens to any song's sound, which is what the kit's boards do. A folio: a song written note by note that the board reads, so each tile moves exactly on its note. Folios are new and experimental, and they have their own corner below, the LAB.

The band's sheets aren't folios. To put one of the band's songs on a board, render it to a WAV and let the board hear it.

3The take

Both kinds of board share the same controls. Only the input changes: a board that hears takes a song, and a board that plays a folio takes a folio.

The controls of a board that hears: PLAY, PAUSE, REC, TAKE and LOAD SONG, and a line saying what the board is doing
A BOARD THAT HEARS · input: a song, any audio or video file (mp3, m4a, wav, mp4)
The controls of a board that plays a folio: PLAY, PAUSE, LOOP, REC, TAKE, LOOPS 1 to 4, and LOAD FOLIO
A BOARD THAT PLAYS A FOLIO · the LAB · input: a folio, a .music.json saved by the line editor

⏺▶ TAKE records the whole song, board and sound together, with half a second of silence at each end, and saves it to your Downloads. ⏺ REC records by hand. Nothing is uploaded, ever. Record the same song on two or three boards: every take comes from the same sound, so they line up exactly in your editor.

4The montage, a choice

This is the part I love. The takes are raw material, and any editor with masks and keyframes will do.

INSERT COIN · the Arcade inside a Memphis '85 frame, with a strip of its tiles beside it · one montage, made my way · press play

This montage is my own taste, because I enjoy it, and it's a choice. A chime can be crafted in many ways without any montage: its board, its composition and its frame can be the whole picture, and a take can stand on its own. The rest is up to your taste and your craft. Play around.

⤓The kit

Take only what you want. Each pack runs from its own files in Chrome or Edge on a computer, and comes with a short READ ME. All of it is free, to use and to learn from.

MODEL B-1 · the band

The band, and three songs to load: Insert Coin, Night Drive, Closes Truly. Write your own sheet, or ask your AI to.

ina band sheet (.band.json)
outthe song as a WAV or M4A

⤓ THE BAND · 42 KB

CHIMES · seven boards

Seven boards that hear any song. Load a song, the board finds the beats, rows and columns slide on them, and TAKE records it.

inany song: mp3, m4a, wav, mp4
outa take: the board and your song

⤓ THE CHIMES · 243 KB

The LABEXPERIMENTAL

The line editor with Takatum loaded, and one board that plays a folio, as a template. Write, save a folio, load it on the board.

inyour clicks, or a folio
outa folio (.music.json), and the board's take

⤓ THE LAB · 68 KB
⤓ THE FULL KIT · 350 KB
Everything at once: the band and its three songs, the seven boards, and the LAB, with the full READ ME (the whole road, the sheet format, and under the hood).

With the full kit, the whole road in five steps:

  1. Open MODEL B-1 - the band.html, press ◈ LOAD, choose Insert Coin.band.json, press ▶.
  2. Press ⤓ WAV and wait for the render.
  3. Open CHIMES/the Arcade - hears any song.html, press ♪ LOAD SONG, and choose that WAV.
  4. Press ▶ Play, drag a row or two with a finger or the mouse, then ⏺▶ TAKE.
  5. Do the same on Memphis '85, and montage the two takes.

✎ Part two · build your own chime

You don't need any of this to make a video: the boards above are ready to play. This part is for when you'd like a chime of your own: what one is made of, the LAB where folios are being tried, and the prompts to start one with your AI.

⚙Under the hood, file by file

No GIFs, no SVG, no image files, no libraries. Everything you see is drawn by code on an HTML <canvas>, fresh on every frame, and every sound is built by the browser's own audio engine. Nothing is fetched from the internet.

A CHIMES board one HTML file · 102 to 110 KB

MODEL B-1 · the band one HTML file · about 107 KB

The songs .band.json · 4 to 9 KB each

⚗The LAB · chimes and foliosEXPERIMENTAL

This part has only just started. It's a lab, and it's here for fun: for anyone who's curious (or not) and wants to play with what a browser can do with music. Nothing in it is finished. Try things, break things, see what happens.

A folio is a song written as a grid instead of recorded. Each line is one instrument, and the steps you light are when it plays. It's saved as a small text file, a .music.json. A board that reads a folio doesn't have to listen for the beats, because it already knows every note: each note moves one line of tiles at the moment the board plays it.

The line editor experimental · one HTML file · about 109 KB

Ink & Paper · plays a folio one HTML file · about 102 KB

What goes in, what comes out

goes incomes out
MODEL B-1 · the banda band sheet (.band.json), or a few choices in the song builderthe sheet as code, or the song as a WAV or M4A
a board that hearsany song: mp3, m4a, wav, mp4a take: the board and your song
the line editoryour clicks, or a folioa folio (.music.json) or the chart as text, or the loop as a WAV or M4A
a board that plays a folioa folioa take: the board and its own sound

Two kinds of sound

Try it

  1. Open LAB (experimental)/THE LINE EDITOR - experimental.html and press ▶ Play. That's Takatum.
  2. Change something: light a step, move the tempo, add a line. Give it a name and press ◈ SAVE FOLIO.
  3. Open LAB (experimental)/Ink and Paper - plays a folio (Takatum loaded).html, press ◈ LOAD FOLIO, choose your file, and press ▶ Play. Then ⏺▶ TAKE, if you like it.

Where it stands for now: only Ink & Paper reads folios so far. It plays the notes but leaves out the editor's volumes, pans and effects. It knows the editor's first 57 sounds; the 37 band voices at the end of the list play in the editor only, for now.

✎Starter prompts

There's no magic sentence. What works is asking for one small thing at a time, looking at it, and saying what you see. These are good first steps; each is one session.

Build me a single HTML file, no libraries: a square canvas with a 9 × 9 grid of tiles. Each tile holds a small animated machine (a spinning record, a cassette whose reels turn, a bar meter). Let me load an audio file, analyse it with the Web Audio API, and drive every tile from the sound: bass, mids, treble and loudness.the board
Make the board react to whatever song I load, not to one song in particular. When a song is loaded, listen to it first: decode it and find its beats. Then, while it plays, slide one whole row or column of tiles by one place on each beat, like a puzzle cube, with the tiles easing into their new spots. Let me drag rows and columns with the mouse too.the movement, for any song
Add a TAKE button that records the canvas and the song together from the very start to the very end, and saves an MP4 (or WebM) to my Downloads. Keep the sound and the picture in sync.the take
Give the board a theme: an arcade after closing, neon on indigo, with high-score tables, a sinking sunset grid, records, a graphic EQ, cassettes and a mirror ball. Keep each machine answering the music in its own way.the look (describe yours)

The music: choose its input. Music arrives in many forms and files. Pick the one you have, or the one you want to make.

  1. A song you already have: a regular mp3, m4a, wav or mp4. No prompt needed, because the board from the first prompt listens to it.
  2. Ask your AI to write the music as text, for a band made of code like MODEL B-1 · the band. Render it to a WAV, and the board hears it like any other song.
    Make a band in one HTML file that plays songs written as JSON: tempo, patterns of lanes, one token per sixteenth note, chords by name. Build every instrument from oscillators and noise, with no samples, and add a button that renders the song to a WAV. Then write me a first song for it: synthwave, Am F C G, about a minute and a half.your own band, and a song written by your AI
  3. A folio: the song written note by note in a step editor, like the line editor in the LAB (experimental). The board doesn't listen: it reads the notes and plays them itself.
    Make a step editor in one HTML file: each line is an instrument built with the Web Audio API, with steps I click to light, a tempo and a metronome. Save the song as JSON. Then make my board read that JSON and slide one line of tiles on every note, at the moment it sounds.a folio (experimental)
Make every animation loop truly: drive it from phase, sin(2πt/T), so frame t and frame t + T are identical.loops that close

Then keep going: "the reels should turn the way the tile last moved", "the sun swells on the beat", "no pink". The details are where it becomes yours.