AbdullahTofa.com
Private tool ยท Built by Hussain

A subtitle translator I built for myself.

This is my personal audio-to-subtitle tool. Drop any audio file in any language, get back accurate subtitles (SRT, VTT, Adobe Premiere XML) and even a translated voiceover MP3. Built on Deepgram, OpenAI Whisper, Google Translate, and Google Cloud TTS. Password-protected and for authorized use only.

100+
Languages
4
Output formats
2
STT providers
โšก
Deepgram + Whisper
Auto-fallback between providers
๐ŸŽฌ
Premiere-ready
SRT, VTT, XML, TXT exports
๐Ÿ”Š
Voice translation
Optional MP3 with timing
๐Ÿ”’
Auto-delete
Files removed in 1 hour

Want to use this for free?

A free public version is live at freevoiceovergenerator.com where you bring your own API keys (Deepgram + Google + OpenAI free tiers cover most users completely).

Visit freevoiceovergenerator.com โ†—
Need a custom tool like this?

I build private AI tools for freelancers, editors, and content teams.

Hi, I'm Hussain Abdullah Tofa โ€” government-verified freelancer based in Dhaka with over a decade of experience in video editing, SEO, WordPress, and AI-driven workflows. I built this subtitle translator to replace a $10/mo SaaS for my own work.

If you need a custom internal tool that automates your editing pipeline, transcription, voiceover, or any AI workflow โ€” let's talk.

How it works.

Five steps. Fully automatic. Editor-ready output.

  1. 1 Upload audio โ€” Any common audio format (MP3, WAV, M4A, FLAC, OGG, OPUS, AAC, AIFF, WMA). 30-min files take ~2 minutes total to process. Files auto-delete from server within 1 hour.
  2. 2 Transcribe โ€” Deepgram Nova-3 auto-detects the source language and returns timestamped segments. If Deepgram fails, OpenAI Whisper takes over automatically.
  3. 3 Translate โ€” Google Cloud Translation converts each segment to your target language while preserving the original timestamps. 100+ languages supported.
  4. 4 Voice synthesis (optional) โ€” Google WaveNet TTS reads the translation aloud, stitched into a single MP3 timed to match the original audio's pacing.
  5. 5 Export โ€” Download SRT, VTT, Adobe Premiere XML, plain TXT, or the synthesized voiceover MP3.

Using the downloaded files.

Quick reference for editors and team members.

SRT

Adobe Premiere Pro

Recommended workflow:
1. In Premiere: File โ†’ Import (don't drag-drop)
2. Select the .srt file โ†’ Open
3. Premiere imports it as a Caption track
4. Drag the caption clip from Project panel onto a video track above your footage
5. Edit individual captions: Window โ†’ Captions workspace

SRT

DaVinci Resolve / FCPX

DaVinci Resolve: File โ†’ Import โ†’ Subtitle. Then drag the subtitle track to your timeline.

Final Cut Pro: File โ†’ Import โ†’ Captions. FCPX will auto-create a caption role.

SRT

YouTube

1. YouTube Studio โ†’ select video โ†’ Subtitles tab
2. Add language โ†’ Upload file โ†’ with timing
3. Choose the .srt file โ†’ Save
4. Publish โ€” viewers can toggle CC in any language you upload

VTT

Web video / HTML5

Use VTT for in-browser HTML5 video. Add inside your <video> tag:

<track kind="subtitles" src="file.vtt" srclang="en" label="English" default>

XML

Premiere XML (advanced)

Final Cut Pro 7 XML format. Use this when SRT timing needs fine-tuning or when you want a sequence-level import.

Premiere: File โ†’ Import โ†’ select .xml โ†’ imports as a sequence with caption metadata.

MP3

Translated voiceover

A single MP3 with the translated audio, timed to roughly match the original. Drop it on a new audio track in Premiere/DaVinci above the original audio.

Heads up: Translation length โ‰  original length, so timing won't be perfectly lip-synced. Best for editor review, not final publish-ready dub.

โš  Rare edge case

SRT cuts off in Premiere?

If only the first portion of your subtitles appear in Premiere (or any editor), the SRT file likely has a corrupted block somewhere. Open the SRT in any text editor (Notepad, VS Code, TextEdit). Find the last subtitle number that imported correctly โ€” the corruption is in the block right after it. Fix any 3-line text block by merging the third line into line two, or check for missing blank lines between blocks. Then re-import.

This tool now auto-fixes both issues (consistent line endings + 2-line max), so this should rarely happen. If it does, contact Hussain with the broken SRT so we can investigate.