P(doom) Video Engine

Render high-framerate music videos with audio-synced typography and 3D scenes using Three.js and headless browser pipelines.

Render high-framerate music videos with audio-synced typography and 3D scenes using Three.js and headless browser pipelines.

The gist

P(doom) Video is a generative, code-rendered music video engine built with Three.js, TypeScript, and Bun. Created in conversation with Claude Opus 5.5 for the song 'I'm Upping My P(doom)', it syncs 3D shader scenes and kinetic typography directly to beat grids and vocal timings. It renders interactive 60fps previews in the browser and exports broadcast-ready 1080p and 4K video files offline.

What it does

  • Syncs 3D scenes and kinetic typography to audio beats and word-level lyric timings
  • Provides real-time browser playback and timeline scrubbing via Vite and Three.js
  • Renders offline 1080p60 and 4K60 video using multi-worker headless Chrome and ffmpeg
  • Applies sub-frame motion blur, bloom, halation, and film grain effects deterministically

How it works

Architecture Diagram
P(doom) Video Engine Architecture Diagram

Audio analysis tools generate word-level lyric timings and BPM grid metadata from the track. The TypeScript engine matches timeline scenes to the beat data using Three.js shaders and typography pipelines. Offline render scripts drive headless Chrome instances to export frames into ffmpeg for video encoding.

Best for

  • Creative coders building audio-reactive animations and synchronized music videos
  • Developers seeking production architectures for headless browser video export
  • Designers experimenting with procedural motion design and kinetic typography

Watch out for

  • Requires Bun, Google Chrome, and ffmpeg with GPU acceleration for full exports
  • Full 4K rendering is resource intensive, requiring substantial GPU compute and RAM
  • Adapting it to new songs requires re-running audio alignment and timing extraction scripts

What you need: Install it on your own computer with a strong graphics card. Cost: free, open source.