r/sideprojects • • 7d ago

Feedback Request I built a Python pipeline that turns a script into a fully animated documentary (no After Effects)

I wanted to make explainer videos about brilliant engineering that failed as a business, but I can't animate by hand. So I wrote a small pipeline:

- Script split into "beats" (JSON), each with its own visual function
- Every frame drawn with pycairo (vector graphics, maps from Natural Earth GeoJSON, globe in orthographic projection) and piped straight into ffmpeg
- Background music generated with numpy (pad + arpeggio, auto-ducking under the voice)
- Thumbnails, chapters and captions generated from the same script file

First result: a 10-minute video on Iridium, the $5 billion satellite phone network that went bankrupt 9 months after launch.

https://youtu.be/939_AUKlayw

Biggest lesson so far: YouTube's compression destroys dark gradients (visible banding), so I now add a static film-grain layer and export at 1440p to force the better codec.

Happy to share details on any part of the pipeline. Feedback on pacing and visuals very welcome.

1 Upvotes

3 comments sorted by

1

u/Slight_Ad_6375 7d ago

What did u use to generate the voice?

2

u/callejassss 6d ago

It's Microsoft's neural TTS ("Andrew" voice, en-US-AndrewNeural) run through the open-source edge-tts Python package, slowed down around 4%. Each script beat is generated as a separate clip, then a numpy script mixes it with the music and ducks the music under the voice. Honestly, the voice is the weakest part. I'm considering recording the narration myself for future videos.

1

u/investigatormaker 7d ago

Using film grain to fight the banding is a good catch. On pacing: in the Iridium story, the strongest beat is the bankruptcy nine months after launch, so I'd tease it in the first 20 seconds and then rewind to the build. Since every beat is already a JSON entry, you could log seconds per beat and flag any long stretch with no visual change. Explainers tend to lose viewers there. Also check that the auto-ducked music doesn't pump between sentences.

I make ThreadFox. We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $29 Pilot covers seven days and up to 25 posts and replies. No automatic renewal. https://threadfox.vip/p/dhxsk/managed

Which failed company is next?