Show HN: AI dub tool I made to watch foreign language videos with my 7-year-old

Published: 2026-04-12

An AI dubbing tool takes a video in one language and replaces the spoken audio with a synthesized voice in another language, ideally matching the timing and emotional tone of the original speaker. I built one last month. Not because I wanted to launch a startup or disrupt the localization industry β€” I just wanted to watch a French animated series with my daughter without reading subtitles aloud for 90 minutes straight.

She's seven. She can't read fast enough for subtitles yet. And frankly, even if she could, staring at the bottom third of the screen while beautifully animated characters move around above is a terrible way to experience a film when you're seven. Or thirty-seven, for that matter.

So I did what any developer with a weekend to spare and a very specific frustration would do. I built something. It's not polished. It's not a product. But it works, and I put it on Hacker News last week to see if anyone else had the same problem. Turns out, a lot of people do.

Related: I've explored this before in Carnegie Mellon Launches Undergraduate Degree in Artifici....

Why Existing Solutions Didn't Work for Us

Before I wrote a single line of code, I tried the obvious options. Netflix has dubs for some content, but the French series we wanted to watch β€” Les Grandes Grandes Vacances, a beautiful animated show about kids during WWII β€” only had French audio and English subtitles. YouTube's auto-dub feature is hit or miss. Mostly miss. The voice synthesis sounds like a GPS narrator reading a bedtime story. No emotional range. No character differentiation.

I also tested a few commercial AI dubbing tools. Papercup, Rask, ElevenLabs' dubbing feature. They're impressive for what they are, but they're built for content creators and enterprises. The workflows assume you're localizing marketing videos or training content. Upload, wait, review, export. Not exactly a "Daddy, can we watch the next episode now?" kind of turnaround.

Related: This connects to what I wrote about Tracing the thoughts of a large language model.

The core problem was always the same: these tools optimize for accuracy and voice quality, which is great, but they don't optimize for watching together. My daughter doesn't care if the lip sync is perfect. She cares if the character sounds scared when they're supposed to sound scared. That's a different design goal entirely.

How I Built It: The 3-Step Pipeline

The tool I built β€” I'm calling it DubBuddy for now, though naming things is clearly not my strength β€” has three stages. Each one solves a specific problem I ran into while trying to do this manually.

Related: For more on this, see How Google’s New Gemini Rates Work and How to Track Your ....

Step 1: Extract and transcribe. The tool takes a video file or YouTube link, extracts the audio, and runs it through OpenAI's Whisper model for transcription. I used the large-v3 model because it handles French well and does a decent job with children's voices, which are notoriously hard for speech recognition systems. The output is a timestamped transcript in the original language.

Step 2: Translate with context awareness. This is where most automated dubbing falls apart. Word-for-word translation produces garbage when you're dealing with idioms, cultural references, or the way kids actually talk. I used GPT-4o for the translation step, but with a specific prompt strategy: I feed it the entire transcript as context, not just individual lines. This lets the model understand character relationships, ongoing jokes, and emotional arcs. A line that means "I'm fine" in French might need to be translated as "I'm okay, really" or "Leave me alone" depending on whether the character is reassuring someone or pushing them away. Context matters.

Step 3: Synthesize with emotional tagging. For the voice synthesis, I used ElevenLabs' API. But here's the trick: before sending text to the TTS engine, I tag each line with an emotional marker based on the context from Step 2. Whisper gives me timestamps. GPT-4o gives me emotional context. I map that to ElevenLabs' voice settings β€” pitch, speed, stability β€” and generate each line separately, then stitch them back together with the original video using FFmpeg.

The whole pipeline takes about 3-4 minutes for a 20-minute episode on my M1 MacBook. Not instant, but fast enough that we can start an episode while I'm making popcorn.

What Actually Worked (and What Didn't)

I want to be honest about the results because I've seen too many "I built an AI tool and it's perfect" posts that conveniently skip the messy parts. Here's what worked:

The emotional tagging made a real difference. When a character is whispering a secret, the synthesized voice actually drops in volume and intensity. When someone shouts, it gets louder. My daughter noticed. She said "the robot voice sounds like the character is really feeling it." That's a direct quote. I wrote it down.

The context-aware translation caught things that phrase-by-phrase translation missed. There's a running joke in the show about a character's dog stealing food. GPT-4o picked up on the pattern across episodes and translated the callback jokes correctly. That's the kind of thing you only get with full-context processing.

What didn't work: overlapping dialogue is a nightmare. When two characters talk at once, the pipeline has no idea what to do. I ended up just muting overlapping sections and showing the original subtitles as a fallback. Not elegant, but functional. Also, songs are completely broken. The rhythm of translated lyrics never matches the original melody, so musical numbers sound like someone reading poetry over a karaoke track. We skip those.

Voice consistency across episodes is still shaky. ElevenLabs' voice cloning is good, but if I regenerate a line, it sometimes sounds slightly different from the same character's voice in a previous episode. Kids notice this stuff. My daughter has asked twice why a character "sounds different today."

Why I Shared It on Hacker News

I posted this on HN as a "Show HN" because I genuinely wanted to know if other parents had this problem. The response surprised me. Within a few hours, I had comments from parents trying to share foreign-language content with kids, language learners who wanted to watch native content with dubs, and even a few teachers who work with immigrant students.

One commenter pointed out something I hadn't considered: accessibility. Kids with dyslexia or visual processing issues often struggle with subtitles even when they can read. A decent dub β€” even a synthesized one β€” makes content accessible to them. Another person mentioned using similar tools to help elderly relatives who've lost the ability to read quickly but still want to watch international films.

The thread also surfaced a lot of skepticism about AI voice quality, which is fair. We're not at the point where synthesized voices are indistinguishable from human actors. But for a seven-year-old who just wants to understand what's happening in a cartoon, "good enough" is actually good enough. That's a bar most AI tools can clear today.

What's interesting is how many people are quietly building tools like this for personal use. Not startups. Not SaaS products. Just parents and caregivers solving specific problems with duct-taped AI pipelines. I think that's where a lot of the real innovation is happening right now β€” not in funded companies, but in living rooms at 11pm while kids are asleep.

Tools like AI-Mind point toward where this is heading. You don't need to write prompts or configure APIs. You describe what you want β€” "dub this French cartoon into English, keep the emotional tone, make it sound natural for a child" β€” and the tool handles the prompt engineering. The first 30 generations are free, which is enough to test whether the approach works for your use case. It's a different philosophy from the API-heavy pipeline I built, but the goal is the same: remove the friction between having an idea and getting a usable result.

3 Things I'd Do Differently Next Time

If I were starting this project over β€” or if someone else wants to build something similar β€” here's what I'd change based on what I learned.

1. Prioritize voice consistency over voice quality. I spent too much time tweaking ElevenLabs settings to get "natural" sounding voices. What actually mattered more was that the same character sounded the same across scenes and episodes. Kids don't critique vocal fry or sibilance. They notice when a character suddenly sounds like a different person.

2. Build for the "watch together" experience, not the solo viewer. Most dubbing tools assume one person watching alone. My use case was parent + child on a couch. That means I can clarify things in real time. The dub doesn't need to be perfect β€” it just needs to carry enough meaning that I'm not narrating the entire show. That's a lower bar, and it changes the design priorities.

3. Accept that some content won't work. I kept trying to make the tool handle every type of scene. Songs. Overlapping dialogue. Rapid-fire jokes. Some content just doesn't dub well with current AI, and that's okay. It's better to have a tool that handles 80% of content really well than one that handles 100% of content poorly.

What This Means for the Future of Content Accessibility

I'm not going to pretend my weekend project is going to change the world. But I do think it points to something bigger. The cost of making content accessible across languages is dropping fast. What used to require a studio, voice actors, and weeks of production can now be done by one person in minutes.

According to a 2025 Grand View Research report, the AI dubbing market is projected to grow at a compound annual rate of over 25% through 2030. That growth isn't just coming from Netflix and Disney. It's coming from individual creators, educators, and parents who want to share content across language barriers without waiting for official localization.

The technology still has real limitations. Voice acting is an art form, and AI isn't replacing human performers anytime soon β€” especially for content where emotional nuance matters. But for the long tail of content that will never get an official dub, AI tools are already good enough to make a difference. My daughter has now watched six episodes of a French cartoon she would have otherwise never experienced. That's a small thing. But it's not nothing.

Key Takeaways

I put the code on GitHub. It's messy. The README is incomplete. There are probably bugs I haven't found yet. But if you've got a kid and a foreign-language show you want to share with them, it might save you some time. And if you build something better, let me know. I've got six more episodes to get through, and the overlapping dialogue problem isn't going to solve itself.

Sources

Frequently Asked Questions

Can AI dubbing really replace professional voice actors for children's content?

Not entirely β€” and probably not for a long time. Professional voice actors bring emotional depth and character consistency that AI can't fully replicate. But for content that will never receive an official dub, AI dubbing is already good enough for kids who prioritize understanding the story over vocal performance quality. Think of it as a bridge, not a replacement.

What's the minimum technical skill needed to build a DIY AI dubbing tool?

You'll need basic Python knowledge, familiarity with APIs (OpenAI and ElevenLabs are the most common), and comfort with FFmpeg for video processing. The pipeline I described β€” transcription, translation, synthesis, stitching β€” can be built in a weekend if you've worked with these tools before. If you haven't, expect a learning curve of a few weeks.

How long does AI dubbing take compared to traditional dubbing?

Traditional dubbing for a 20-minute episode can take days or weeks, involving script adaptation, casting, recording sessions, and audio engineering. My AI pipeline processes the same episode in 3-4 minutes on consumer hardware. The trade-off is quality: AI dubbing is faster but less polished, especially for complex scenes with overlapping dialogue or music.

Try AI-Mind for free. No prompts needed β€” just describe what you want and get professional content in seconds.

Start Generating Free