| # 6174 — Kaprekar's constant (vertical short) | |
| A 54-second, 1080×1920 / 30 fps motion-graphic math short built with Remotion, with a | |
| Manim-rendered spacetime-grid layer and a fully synthesized soundtrack. | |
| ## What's here | |
| | Path | Purpose | | |
| |---|---| | |
| | `src/Kaprekar.tsx` | composition: six scenes, backdrop, captions, audio | | |
| | `src/scenes/` | Hook · Rule · Cascade · Funnel · Proof · Loop | | |
| | `src/captions.ts` | caption cues, frame-locked to the edit | | |
| | `scripts/gen_audio.py` | procedural score + SFX (drone, heartbeat, ticks, riser, drops) | | |
| | `scripts/gen_voice.py` | optional ElevenLabs VO with word timestamps | | |
| | `manim/warp_grid.py` | ManimGL gravity-well grid (composited in the funnel) | | |
| | `out/` | renders, stills, publish kit | | |
| ## Render | |
| ```bash | |
| python3 scripts/gen_audio.py | |
| # two-pass loudness target: -14 LUFS / -1.5 dBTP | |
| ffmpeg -y -i public/audio/soundtrack_raw.wav \ | |
| -af "loudnorm=I=-14:TP=-1.5:LRA=11" public/audio/soundtrack.wav | |
| # manim layer (already bundled at public/manim/warp.mp4); rebuild with: | |
| # PYTHONPATH=/root/manim xvfb-run -a python3 -m manimlib manim/warp_grid.py WarpGrid \ | |
| # -w -r 720x1280 --fps 30 --video_dir out/manim && cp out/manim/WarpGrid.mp4 public/manim/warp.mp4 | |
| bash scripts/render.sh 6 | |
| ``` | |
| Output: `out/kaprekar-6174.mp4` (H.264, AAC 256k, faststart, −14 LUFS). | |
| ## Math (verified by brute force over 0000–9999) | |
| - 9,990 numbers reach 6174; the 10 repdigits (0000, 1111 … 9999) are the only exceptions. | |
| - Max path: 7 steps. | |
| - Distribution: 383 / 576 / 2,400 / 1,272 / 1,518 / 1,656 / 2,184 for 1–7 steps. | |
| ## Voiceover | |
| `scripts/gen_voice.py` needs a valid `ELEVENLABS_API_KEY` (51 chars). The key found on this | |
| machine is 49 chars and is rejected by the API, so this cut ships with captions + score. | |
| Add a valid key, run the script, then unmute/re-time captions and re-render. | |
Xet Storage Details
- Size:
- 1.85 kB
- Xet hash:
- 21e55feffe7cca36199314dd0054f734707899797d38082d7ef3296669d5a6bd
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.