nezuhub/simple / README.md
nezuhub's picture
|
download
raw
1.85 kB
# 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.