← back to the star map

Colophon

STELLATE

What this is made of, how it is made, and whose work is in it. A 274-genre deterministic vector space, one score brain, a Faust WASM engine, and a rule about never losing the generator again.

01Why the source is the artifact

We once rendered ten vaporwave tracks at 4am into a home directory that wasn't under version control. The renders survived; the .csd that made them did not — we kept the artifact and lost the generator.

That is the whole origin story, and it produced one rule that every other decision here obeys.

The one rule

Source is committed; audio is derived and gitignored. The score brain and the synthesis are the capability. Every .wav, .mp3 and .mp4 is regenerable, so none of them is ever committed. The founding royal-road.csd that first proved the idea is kept safe on a branch — the origin lost and refound.

It applies to this page's neighbours too: the release feed you can subscribe to is generated at deploy time from the repository's own history, not hand-written and stored. Nothing on this site is a payload that could go missing from its recipe.

02274 genres, all of them fiction

Each genre is a point in one deterministic vector space — tempo, swing, harmony, kit, instrument and effect pools, the lot — and the map you drag is that space, laid out so proximity means similarity. Blends, tracks, playlists and hours-long journeys are all just points and paths through it.

The catalog is a work of mathematical fiction. Every genre wears an invented display name: the anchor techno appears on the map as Unblinking Interval, jazz as Smoke Arithmetic, fugue as The Patient Chase; salondawdle, Ottoman Heat Death — a brushed 3/4 salon waltz — was born fictional, and the space carries real odd meters to hold it. The ids underneath stay stable and load-bearing: they are what paths, presets and the verifier read.

03The engine

One pipeline, four honest stages. A point on the map becomes a blend of genre weights; the blend resolves to an engine state; one score brain turns that state into a deterministic list of note, drum, found-sound and effect events; and a fleet of Faust WASM voices renders it. Harmony is generated rather than looked up — functional progressions with a per-genre adventure knob, voice-led with minimal motion — and the scheduler is a set of composable, seeded transforms applied at one choke point, so live playback, offline renders and exported MIDI all hear the same music.

The same code runs in both directions: the browser plays a live AudioWorklet graph, and Node "presses" the identical modules offline. Press equals live — what you hear is what renders. Most pitched instruments are real samples, extracted from a General MIDI SoundFont and run through per-voice effect chains; synthesis stays where synthesis is the identity (the acid bassline, the wobble, the vocoder).

Everything is deterministic from a seed. The same seed always plays the same music, which is why every link on this site — including every entry in the release feed — is a reproducible piece of music rather than a recording.

04Verified, not vibed

STELLATE was extracted from a catalog of verification methods, and it is a worked example of that catalog's thesis: generator → verifier → feedback loop. A generator that nobody checks drifts; a verifier turns taste into a gate you can run. Its genre-conformance work cites the catalog's verifiers 12.33 (genre conformance) and 17.43 (what to do when no formal verifier exists).

The two standing laws

1 · Determinism. Same seed ⇒ byte-identical events. An absent knob ⇒ byte-identical output, because an unused dimension draws no random numbers at all.

2 · The matrix. Every anchor is rendered, measured on 23 symbolic features, and scored against every genre's target fences. All 274 must score highest as themselves. If a change makes a genre stop sounding most like itself, the change does not land.

Machines verify structure. Human ears verify taste — in the app, by listening.

05What the sound is made of

Nearly all of the raw audio here is other people's work, fetched by committed recipes into a directory git ignores. None of it is in the repository — but it does ship. The deploy copies that directory to the server, so anything the engine can play is fetchable by anyone who knows the URL. Saying otherwise would be more comfortable and less true. That does not relax a single licence: where the deploy and the terms disagree, the terms win and the exposure is real and knowing, and the remedy for an objection is to pull the item and re-point the genre at a licensed substitute — a one-line change in a recipe. The tiers below describe what each licence permits, not what this project abstains from. The full ledger — every item, URL and licence — lives in SOURCES.md.

Field recordings tier 1 · permissive
Seventy-nine beds from radio aporee ::: maps, mirrored on the Internet Archive — city air, road hum, machine rooms, night air, deep water, room tone, weather, shortwave. Permissive licences only: Public Domain Mark, CC BY, CC BY-SA, each verified against the item's own metadata. No non-commercial, no no-derivatives. BY items want attribution in any distributed render; BY-SA items also inherit ShareAlike.
The earlier aporee beds tier 2 · mixed, some unverified
A smaller first wave of aporee recordings, fetched before per-item licence verification became the rule — a Tokyo platform, a Chilean smelter, a frog chorus, a night highway. CC-family, but the mix includes NC and ND terms and several grants were never verified item by item. The ledger flags each one; verify before any distributed render that includes them.
BBC Sound Effects tier 2 · non-commercial
Forty recordings — thirty-six beds and four chimes — from the BBC Sound Effects archive, © BBC. The recipe downloads straight from the BBC's own CDN, so every user's copy is their own fetch. RemArc licence: personal, educational or research use only, non-commercial, no redistribution. Never committed; serving it here is in tension with those terms and is a knowing risk.
Naropa poetry readings tier 2 · non-commercial, no derivatives
Readings from the Naropa Poetics Audio Archive — Burroughs, Ginsberg, Waldman, Corso, Orlovsky, di Prima, Kyger, Snyder, Whalen, McClure, Baraka, Ortiz, Kupferberg, Sanders, and John Cage's chance-ordered phonemes. CC BY-NC-ND: folding a reading into generative music is itself a derivative use, so the NC and ND terms are in live tension with a free public site. Credit rides with every item; the tension is deliberate and documented, not overlooked.
The sampled instruments tier 1 · MIT
The full General MIDI set — all 128 melodic presets plus drum kits — extracted at fetch time from the FluidR3 GM/GS SoundFont by Frank Wen. MIT. Fetched, not committed.
The voice bank tier 1 · original
Three hundred and sixty synthesized voice clips over twelve genre-family phrase banks, generated locally with eSpeak NG from original text, and gated on duration, level and a pure-tone check before any clip may enter a pool. No recording, no third party: licence-free output.
Sample CDs tier 3 · no licence chain
Two out-of-print commercial sample CDs, classified from generically-named WAVs by a committed pipeline (pitch, tempo and class are recovered, not read from metadata). No licence chain exists to comply with, and these ship with everything else. An accepted risk taken with open eyes; if you fork this, the risk does not come with the code — decide for yourself before you deploy.
The MIDI corpus tier 3 · statistics only
Genre-labelled MIDI rips, parsed once into a derived corpus that lives off the repository entirely and never deploys. What lands in git is the fetch recipe, the miner, and aggregate statistics — feature distributions, harmony transition tables. Verbatim musical material is only ever mined from public-domain compositions.

06The code that isn't ours

Vendored, credited, and carved out of this project's MIT grant where their licences require it. NOTICE in the repository is the authoritative version of this list.

07Accessible on purpose

There is a second front door: the accessible text version, which is screen-reader- and keyboard-first and needs no visuals at all. Pick a genre or build a journey; the music is byte-identical to what the star map would play for the same seed and blend, and what's happening arrives as prose — a live narration log, an on-demand full announcement, and every control reachable by keyboard. Motion respects prefers-reduced-motion. The address bar carries the whole session on both pages, so a bookmark or a shared link reopens exactly this music.

08The release feed

Every deploy regenerates release notes from the repository's history and publishes them here. Each entry links to a mix that shows off what changed: work on the found-sound layer links a bed-heavy genre, harmony work links the jazziest one, drum work links the genre that is mostly drums. The links carry real coordinates from the star map, so they are playable, not illustrative.

09Credits

Made by Paul Ford, published by Aboard. Source at github.com/aboard-io/stellate, MIT licensed (© 2026 Paul Ford), with the third-party carve-outs above. Contact ford@ftrain.com.

Full attribution ledger: SOURCES.md. Third-party licences: NOTICE. How a song is made, drawn stage by stage: how.html. The contract a change has to keep: CONTRIBUTING.md.

This page has no JavaScript, no cookies, no trackers, and no images. It is text about music, which seemed like the right register.