Skip to content

Repository files navigation

Zariia instruments

licence AGPL-3.0 the-firing 0.2.0 the-stepwell 0.1.1 the-zellij 0.1.0 channels: open + sealed runs in a browser analytics: none, by choice

Three browser instruments for making records that carry two channels: one that plays for anyone, and one that opens with a key.

They are made by Zariia, a music label whose records hold a sealed second channel. The released track plays for everybody and sounds whole. Held with the key, a second channel unlocks and plays in sync, and that is the complete work. These instruments produce both channels at once, sample for sample, from a single performance.

You do not need the label to use them. They are ordinary audio instruments and they run in a browser with nothing installed.

port
the-firing granular synthesis on one body of sound 8123
the-stepwell wave terrain synthesis on still water 8124
the-zellij latent mosaicing through a neural codec 8125

the-firing is 0.2.0, the-stepwell 0.1.1, the-zellij 0.1.0. VERSIONING.md says what that means. ROADMAP.md says where they are going, which is toward fewer controls rather than more: these develop into a minimal interface as records are made on them.

Running one

Node 18 or newer. Nothing to install.

node the-firing/serve.mjs      # → http://localhost:8123
node the-stepwell/serve.mjs    # → http://localhost:8124
node the-zellij/serve.mjs      # → http://localhost:8125/the-zellij/

🔴 They must be served over http, not opened as files. The microphone and AudioWorklet both require a secure context; localhost counts as one and file:// does not. Opened as a file the page loads, looks entirely correct, and can neither hear you nor capture a take — which is a confusing way to fail, so it is worth saying twice.

Allow the microphone when asked. Headphones are worth it: two channels are playing at once and speakers will feed one back into the other.

The two channels

Every instrument writes two WAV files of identical length, so they line up when played together.

  • The open track is what anybody hears. Gold, everywhere, in all three.
  • The sealed channel is what the key adds. Ember, everywhere, in all three.
  • Teal means placed but silent — audible to nobody yet.

The colours never change between instruments. A maker should not have to relearn them.

Only one microphone button in each instrument puts you on the record, and it says so on the button. Monitoring is monitoring. The open track has to carry the voice exactly once.

Capture is always WAV, never compressed. The open track must be lossless, because the Zariia carrier copies FLAC frames byte for byte and the song sounds identical is a claim the label makes in public. A compressed capture would quietly make that false.

Every instrument offers an overlay take, which sums a pass onto the last rather than replacing it. A first pass can be a poem alone on the open track; a second can add only to the sealed side.

What they share, and what they do not

They are siblings rather than one page three times. The firing is fired clay, warm, worked with heat. The stepwell is water, cold, with sandstone above it. The zellij is glaze — jewel colour on a near-black body, which is what zellij actually looks like. Different grounds, different primary gestures, one hand.

What is shared is the channel language, the capture format, and the refusal to make you learn a new vocabulary per instrument.

Sending one to somebody

./make-zip.sh the-firing ~/somewhere

This builds a self-contained zip with its own recipient-facing README. It then unpacks what it just wrote, serves it, and checks that it answers before reporting success — because a zip that does not run is the ordinary way this fails, and it fails after it has been sent.

Licence

AGPL-3.0-or-later. See LICENSE.

The AGPL rather than the GPL because these run over a network. If you host a modified version somewhere people can use it, they are entitled to your source. Using the instruments to make music imposes nothing on the music: your recordings are yours, and nothing in this licence reaches them.

The bundled fonts are under the SIL Open Font Licence; see OFL.md beside them. the-firing/material/starter.wav is synthesised by make-starter.py from nothing but the Python standard library, so it carries no third-party rights.

Credits

Written by Prayas Abhinav for Zariia.

The zellij uses Kyutai's Mimi neural codec, fetched from Hugging Face on first use and then cached by the browser. Nothing is uploaded; the audio never leaves the machine.

About

Three browser instruments for records with a sealed second channel — granular, wave terrain, latent mosaicing. AGPL-3.0.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages