▶ Watch the film (3:00) — youtube.com/watch?v=Whzow7Tzt5Q
"The problem of art is not a problem of form, but a problem of spiritual content." — Wassily Kandinsky, on Klänge (Sounds), 1912
A 3-minute AI docu-trailer about the man who heard color — and the century-late machine that can finally play it back. The film is the submission; this repo is its production context — the compositor, the prompts, the fal session logs, and the agentic crew's audit trail.
Built at the fal × Sequoia 72-Hour Video Hackathon (Generative Media Track, team SynesCinema). Named after Kandinsky's own 1912 synesthetic book — the Gesamtkunstwerk he made to break down the walls between the arts. This film is his Klänge, a hundred years on, in a medium he never had.
AI didn't kill the artist. It finished his sentence.
Kandinsky died in exile in 1944 with the total artwork — all the senses made one — unbuilt, because the means did not exist. They exist now. He relocated the source of art from the outer world to the inner one ("inner necessity," 1911) and bet his life that a color, a sound, and a feeling are one thing experienced three ways. We call that a latent space. He intuited the architecture of multimodal media a century early; this film is the origin story of the medium the hackathon runs on. At Dessau in 1928 he staged Mussorgsky's Pictures at an Exhibition — painted forms crossing a stage in time with a score. He had already made pictures move; the medium couldn't keep up with the program. He did not predict this machine — he placed the order.
The emotion everything aims at: vindication across death. The machine plays his paintings back — and the century delivers the verdict.
- Prelude · the hook — a museum wall in the dark; "The man who heard color."
- I · The leap — Moscow, 1896: a lawyer hears Wagner, sees color, leaves the law. Music becomes paint becomes Impression III (Concert). Pain seeded.
- II · The struggle — Klänge, the book almost nobody bought; the 1913 Color Study asks its twelve questions — and the cells lift off the page. Strain.
- III · The Bauhaus, closed — threads pour into Yellow-Red-Blue; winter drains it; Development in Brown's own planes close like doors (1933). Strain snaps.
- IV · Exile — he kept painting — the destroyed Composition I survives as one photograph; the relentless late works; the last watercolour empties; his shapes sink into the black. The music dies at exactly 124.000 into 2.5 seconds of true silence. The trough.
- V · Legacy + close — the trumpet returns color to Composition VII; the works LIVE with the score drawing itself over them; a painted cell spins up as a vinyl record whose paper label carries his portrait and the credits, all turning in lockstep — painting become sound. His name, at last. Gain.
The law of the cut: GAIN = f(PAIN × STRAIN) — no shortcut to gain; the edit must pass through the trough. See docs/dramatic-structure.md.
fal — Kling v2.6 Pro / v3 Pro / v3 native-4K first-last-frame morphs seeded from the public-domain works themselves; nano-banana-2 keyframe repairs; Stable Audio 3 score. ElevenLabs — narration (Daniel, eleven_v3) and every sound effect. Remotion — the deterministic compositor: measured sync, the WAKE time-remap system, the french-door close, the carousel record label, the FFT orbs drawing the score. The tool is a credit, not the subject: on the artifact it is titled simply KLÄNGE.
src/ timeline.ts (the master data file) · Film.tsx (the compositor)
scripts/ render.mjs (fal FLF pipeline) · compile.sh (chunked master chain)
verify-motion.sh + battery-r20b.sh (the shipping gate) · sheet.sh
public/ frames/ (seed + baked stills) · plates/ (public-domain source scans)
audio/ (stems · VO · SFX) · renders/ (Kling videos — untracked for weight;
every generation is reproducible from logs/ request ids + the fal dashboard)
logs/ fal-session.jsonl — 67 generations, request ids + input hashes
docs/ submission.md · lessons-polish.md (the 17 laws) · grading-assessment.md
curation.md (canon) · crew.md · storyboard.md · todo.md · kandinsky-reference.md
review/ storyboard.html (the takes board; its media stays local)
out/ film/ local build products (untracked)
archive/ retired takes + draft-era docs (untracked)
| Key documents | |
|---|---|
docs/submission.md |
submission text + form fields |
logs/fal-session.jsonl |
full fal provenance — every generation, input-hashed |
docs/lessons-polish.md |
the transition & sync law (L1–L17), distilled from 20 review rounds |
docs/curation.md |
canon — every scene's why, the symbolic systems, continuity threads |
docs/grading-assessment.md |
honest self-assessment vs the judging rubric |
docs/why.md · docs/dramatic-structure.md |
the message · the five-act mechanics |
review/storyboard.html |
contested seams, takes side-by-side |
pnpm install
npx remotion studio # inspect the timeline
./scripts/compile.sh # chunked render → concat → WAV → measured-gain master
./scripts/battery-r20b.sh # the shipping gate: 28 seam windows + audio floorsThe gate on the shipping master: exactly three scene-detection events in 180 seconds — all sound-motivated cuts (17.5 · 74.07 · 158.00) — and structural silences at a bit-exact −91.0 dB.
Context: synesthesia.dart.art — the companion album of twelve scannable Kandinsky records that seeded this project's synesthetic grammar. The film stands alone. All artworks: Wassily Kandinsky, public domain.
