SWR Sainted Word Records Launch the engine
Browser-based. No upload, no backend.

Drop in a song. Get a music video that breathes.

Drop in a song and a clip library. The engine classifies and routes every asset to the band it suits.

Live engine output, running in the browser

The whole engine, in five numbers.

15.6k
Engine HTML (gz)
5
FFT bands
6
Layers
8
Library items
0
Backend
The engine

A music visualizer with a composer's taste.

Most visualizers just react to the spectrum. The Sainted Word engine classifies every asset you give it by motion, brightness, and hue, then routes each one to the band of the song that suits it. The composition is algorithmic. The score is the audio.

Adaptive beat detection

Every parameter is a feature binding, not a keyframe.

Bass-energy tracker with an adaptive threshold. Locks the BPM, fires an envelope on every kick, decays gracefully. Works on techno, jazz, and an ill-advised spoken-word record.

Layered composition

Six layers, each with its own blend mode and a stack of reactors. Scale to bass, hue to mids, position to the spectrum's edge.

Library as palette

Drop a folder of videos, GIFs, or images. Each one is auto-classified by motion, luma, and mean hue, then routed to the role that suits it. Different song, same library.

MP4 export, native

No ffmpeg.wasm, no server, no transcode.

The canvas is captured via MediaRecorder at 30 fps with H.264 and AAC, 8 Mbps. The file you download plays in any editor.

Fresh look every remap

The auto-mapper picks from the top candidates weighted by score, and shuffles the blend order. Each RE-MAP click yields a new composition. Hit it until something sticks, then record.

Single-file, zero install

The whole engine is one HTML file. Drop it in a folder, open it in Chrome or Safari, it runs. No node_modules needed for the user. The Vite project is just for development.

Visual languages

Same engine. Five completely different looks.

Five variants of the same engine, each with a distinct aesthetic. Click one to open it in a new tab. Same controls, same library, same MP4 export.

See them all →

Who actually uses this.

The engine and its five versions were built for people who have audio and a release date, and zero budget for a video editor. These are the profiles that reach for it first.

Releasing music

Indie musician

Releasing a single with no video budget. Loads the mastered WAV, picks a style, gets a 30s MP4 for the post.

Neon →
Beatmaker

Selling beats on BeatStars and Airbit. Renders a 15s preview per track so the listing beats a static waveform.

Grid →
DJ

Promoting a mix or a set. 60s vertical teaser with BPM burned in frame 1, cuts on the downbeat, ready for Reels.

Smoke →
Small label

3-10 artists a year, one brand voice. Uses the same version across the roster so every release reads as the label.

Film →

Beyond the release

Hand-drawn mascotNew

Click the mascot and it requests your camera, samples frames at 8 fps, and reacts in real time. A hand-wave makes it wave back. Sustained motion makes it lean in. No model, no CDN.

Mascot →
Independent artist

Local pricing (€25 against €40+ in the EU), in-person demo at KC Grad, Drugstore, or Dot. Same engine, different margin.

Campaign →
Podcaster

One long episode, ten short clips. Renders each pull-quote moment as a 15s visual to drive follows from the audio feed.

Film →
Sound designer

Sample pack creator showcasing the patches. The visualizer becomes the cover art, so engine output doubles as marketing.

Hallucination →

Three commands, then open the URL.

Or skip the install entirely. The engine is a single HTML file and runs from a static server.

Run it locally

The dev server uses Vite for hot reload during development. The production build outputs to dist/ with the engine, the five versions, and the library.

NeedsNode 18 or newer
KeysNone. No API keys, no external services.
SizeThe 12 videos in library/ are 75 MB total
~/sainted-word-records
# clone and install
$ git clone git@github.com:kai-djuric/sainted-word-records.git
$ cd sainted-word-records
$ npm install
# dev server (port 5174)
$ npm run dev
# production build to dist/
$ npm run build

Built on the web platform.

No native dependencies, no build step required to use the engine. Just a browser and your library.

Runtime

Web Audio API and FFT Canvas 2D MediaRecorder, H.264 and AAC Web Components

Build

Vite ES2022 modules Single HTML file output

Type and licence

Fraunces Geist Geist Mono Zero backend MIT licence

Every page on sainted-word-records.

Public routes from this domain, grouped by what they are for. Each one is a real, hand-tuned surface with no template fills.