opendub.ai
#ai-dubbing#omnivoice#open-source#bug-fix

I Tried Dubbing a Video with OmniVoice (and Ended Up Fixing a Bug)

Korean to English kept failing. It turned out to be a bug, so I opened the code with Claude and fixed it, and the maintainer merged it in.

opendub · 2026-06-16 · 3 min read

This time I tried OmniVoice, an open-source dubbing tool.

I ran it on my MacBook Air, and it installed a lot more easily than the other open-source tools I’ve tried. That might sound minor, but it’s a big deal. Installing open-source tools is honestly pretty hard for me, so just getting one running is already half the work.

Here’s the clip I wanted to dub, a short Korean piece, before OmniVoice touched it:

Original: the Korean clip I wanted to dub into English

Once I had it running, I started with English to Korean. That worked fine. So I went the other way and tried Korean to English, and this time every sentence threw an error. I ran it again and got the same thing. At first I assumed it was because I had too much else running at once, so I shut everything else down and tried again. It still failed.

That’s when I opened the log. The thing is, I’m not a developer, so even staring at the log I couldn’t tell what was actually wrong. So I showed it to Claude and asked what was going on and how I could fix it.

Here’s what we figured out together. The tool has a step that listens to the audio and works out what language it is, and for my video it got it right. The log even said it had detected Korean with 98% confidence. So it clearly knew. But by the time things reached the translation step, that information was gone. Since it couldn’t find the source language, the code did its default for when it had no idea: assume English. So it tried to translate English into English, and since there’s no such thing as an English to English translation pack, every sentence died with the same error. It knew the video was Korean, and then forgot it one step later.

Once we understood that, Claude and I went into the code and found the exact place where it falls back to English. We added a small safety net there. If it doesn’t know the language, look at the text in the subtitles and work out which language it is. (Korean characters mean Korean, and it’s the same idea for Japanese, Chinese, and a few others.)

One thing did drive me a little crazy. Every time I edited the code and reopened the app, my fix was just gone. It took me a while to realize the app rewrites its own code from scratch every time it launches, so I’d been editing the wrong copy the whole time. Once I found the right place to make the fix, it finally stuck.

After that I ran it again, and Korean to English worked.

I figured other people probably run into the same trouble I did, so I posted it on GitHub as both an issue and a pull request. I only opened the pull request on the off chance it might actually get accepted. And OmniVoice took my fix in! I’m not a developer, just someone who likes AI dubbing, and getting to contribute to someone else’s code made me really happy.

You can see it on GitHub: the issue I opened and the pull request that got merged.

Here’s where it landed:

OmniVoice: dubbed Korean → English, with the original voice cloned

I’ll be honest, this still isn’t a result I’m happy with. If you listen closely, you can hear a little Korean leaking in at the start of some sentences. But the voice cloning is genuinely good. I’ve tried a handful of open-source dubbing tools now, and I haven’t seen one match the original speaker’s voice this well. I’ll show you how I’m trying to get rid of that leak in the next post.

comments

Comments (0)

No comments yet — be the first.