Chapter
00A workstation for dubbing

Dub videos into other languages without giving up control.

Trackdub is a desktop workstation for translating, voicing, and mixing video. Every stage of the pipeline is inspectable, editable, and rerunnable — from the transcript to the final mix. Your media never leaves your machine unless you say so.

trackdub — interview_final_cut.mp4
DE → EN · project #1147
Run
  1. 01Ingest
  2. 02Transcribe
  3. 03Translate
  4. 04Diarize
  5. 05Voice·
  6. 06Mix·
Provider
DirectML · RTX 4070
Manifest
bundled · commercial
Script · line 42
S1 Anna · 00:42.180
00:38S1
Wir haben die Pipeline neu gebaut,
We rebuilt the pipeline,
00:42S1
damit jede Stufe editierbar bleibt.
so every stage stays editable.
00:46S2
Und wenn etwas nicht stimmt —
And if something is off —
00:49S2
regenerierst du nur diese eine Zeile.
you regenerate just that one line.
Waveform−14.1 LUFS
Speakers
Anna
de-DE → en-US
3.4s ref
Mateo
de-DE → en-US
5.1s ref
Job
Resumable · 62%

Fig. 01  ·  Stylized rendering of the project view, not a screenshot. Layout mirrors the shipping app: run column, script editor, per-speaker panel.

Trackdub desktop app shell, early build — pipeline stage list with separation, cleanup, transcribe, and identify stages, stem separation and speaker diarization toggles, voice selector

Fig. 01b  ·  Actual desktop shell, early build. Pre-release UI — chrome and copy are still moving.

Local by default·Deterministic runs·Cross-platform·Open manifest·No account required
Chapter
01The pipeline

Six stages. Each one editable, each one rerunnable.

A dubbed video is not a single button. It's a chain of decisions — what someone said, what it should say in the target language, whose voice says it, and how it sits in the mix. Trackdub exposes that chain, so you can inspect any link and change it in place.

Every stage declares what it needs from the previous one. If you edit the transcript, the translation knows to invalidate. If you change a speaker's voice reference, only their lines regenerate. Nothing rebuilds that doesn't have to.

  1. 01
    Ingest
    Probe media. Detect scenes, silence, and speech.
    Read →
  2. 02
    Transcribe
    Time-accurate source transcript with speaker turns.
    Read →
  3. 03
    Translate
    Human-editable target script, tied to timecode.
    Read →
  4. 04
    Diarize
    Assign speakers. Attach a voice reference to each one.
    Read →
  5. 05
    Voice
    Zero-shot TTS. Regenerate any single line.
    Read →
  6. 06
    Mix
    Align, duck under music, mux the final file.
    Read →
Chapter
02Try the pipeline

Edit a line. Watch what invalidates.

A sample project, running in your browser. Change the transcript, retarget a translation, rename a speaker, or regenerate a single voice line. Downstream stages mark themselves stale — nothing else is touched.

  • 01   Ingestclean
  • 02   Transcribeclean
  • 03   Translateclean
  • 04   Diarizeclean
  • 05   Voiceclean
Source transcript · de-DE · click a line to edit
00:38.120AnnaWir haben die Pipeline neu gebaut,
00:42.180Annadamit jede Stufe editierbar bleibt.
00:46.900MateoUnd wenn etwas nicht stimmt —
00:49.640Mateoänderst du nur die eine Zeile.
Tip: change a word, then switch to Translate — that line will be marked stale, the rest stay.

Fig. 02  ·  Interactive sample  ·  state lives in your browser

Chapter
02bResumable jobs

Pause anything. Edit one stage. Resume only what changed.

Every stage writes a checkpoint to disk. Close the app, unplug the laptop, edit a translation two days later — the job picks up from the last completed artifact.

When you change a translated line, Trackdub marks that stage and everything downstream as stale and requeues only those. Ingest, transcription, and diarization stay done — they don't depend on the edit.

Try it → pause · edit translation · resume

Job · interview_de.mp4 → en-US  ·  checkpoint dir: /projects/interview/.trackdub
Simulate failure
  1. 01Ingest & probe
    done
  2. 02Transcribe (ASR)
    done
  3. 03Translate
    35%
  4. 04Diarize
    queued
  5. 05Voice (TTS)
    queued
  6. 06Mix & mux
    queued
Job log · streaming
00:00Job queued · interview_de.mp4 → en-US
00:02Ingest complete · media.probe.json
00:09Transcribe complete · 128 segments
00:09Translate started · model=nllb-1.3b

Fig. 02b  ·  Simulated job runner with failure injection. Progress, errors, and log are client-side only.

Chapter
03Each stage, in detail

Each pipeline stage, in detail.

01  /  Ingest

Probe media. Detect scenes, silence, and speech.

Point Trackdub at a file or folder. It reads the container, extracts audio, detects shot boundaries, and runs voice activity — building the frame every later stage will work against.

  • ffprobe media
  • shot / silence detection
  • loudness reference (LUFS)
Trackdub · ingest01 of 06
Media probe
containermp4 / h264 / aac
duration00:03:18.240
fps23.976
audiostereo · 48 kHz
scenes42 detected
speech84% (VAD)
loudness−14.1 LUFS

Fig. 02  ·  Ingest view

02  /  Transcribe

Time-accurate source transcript with speaker turns.

Source-language ASR with word-level timestamps. The transcript is a real editable document, not an opaque intermediate — fix a word here and every downstream stage picks it up.

  • word timestamps
  • editable transcript
  • diarization-ready turns
Trackdub · transcribe02 of 06
Source transcript · de-DE
00:38.120Wir haben die Pipeline neu gebaut,
00:42.180damit jede Stufe editierbar bleibt.
00:46.900Und wenn etwas nicht stimmt

Fig. 03  ·  Transcribe view

03  /  Translate

Human-editable target script, tied to timecode.

Translation happens per line, not per file. Idioms, names, and jargon go in a project glossary; the target script preserves the source's timing so later stages can align to it.

  • per-line MT
  • project glossary
  • timecode preserved
Trackdub · translate03 of 06
Source · de-DETarget · en-US
Wir haben die Pipeline neu gebaut,We rebuilt the pipeline
damit jede Stufe editierbar bleibt.so every stage stays editable.
Und wenn etwas nicht stimmt —And if something's off —
Glossary · 12 terms locked

Fig. 04  ·  Translate view

04  /  Diarize

Assign speakers. Attach a voice reference to each one.

Trackdub clusters voices, then lets you name them, merge them, or split them. Each speaker gets a short reference clip that the voicing stage will match — one clone per person, not one voice for the whole video.

  • speaker clustering
  • manual merge / split
  • voice reference per speaker
Trackdub · diarize04 of 06
Speakers detected
Anna
24 turns · 4.2s reference
Rename · Merge
Mateo
18 turns · 4.2s reference
Rename · Merge
Speaker 3
2 turns · 4.2s reference
Rename · Merge

Fig. 05  ·  Diarize view

05  /  Voice

Zero-shot TTS. Regenerate any single line.

Per-speaker voice cloning generates each line at its target duration. Prosody is editable — pace, emphasis, pause — and any line can be regenerated on its own without redoing the rest.

  • per-speaker cloning
  • per-line prosody
  • regen line 42 in isolation
Trackdub · voice05 of 06
Line 42 · Annaduration 3.14s / target 3.20s
"so every stage stays editable."
Pace
0.98×
Emphasis
editable
Pause after
220 ms
[ Regenerate line ]   [ Regenerate speaker ]

Fig. 06  ·  Voice view

06  /  Mix

Align, duck under music, mux the final file.

Dubbed lines snap to the original beats. Music and SFX from the source are preserved and ducked under dialogue. Export a muxed video, stems, or captions — deterministic given the same project manifest.

  • timeline alignment
  • music / SFX ducking
  • video + stems + captions
Trackdub · mix06 of 06
Timeline
Dialogue EN
Music
SFX
Loudness
−16 LUFS
Duck
−9 dB
Export
mp4 + stems

Fig. 07  ·  Mix view

Chapter
03You can fix anything, and only that thing

The transcript said "Pipeline". You wanted "pipe line".

Change it. The translation invalidates. The affected voice line queues for a regen. Every other line stays exactly as it was — same take, same timing, same mix. That's the whole idea.

Before edit00:42.180
"so every stage stays editable."
Auto-generated · pace 1.00× · pause 200 ms
After you tweaked prosody00:42.180
"so every stage stays editable."
Regen · pace 0.94× · pause 320 ms · this line only
Chapter
04Performance

Runs on the hardware you already have.

Trackdub ships execution providers for CPU, DirectML, CUDA, CoreML, TensorRT RTX, and Windows ML. Pick a policy or let it choose per stage. Relative ordering below; full measured benchmarks publish via DubBench ahead of v1 launch.

ProviderPlatformRelative speedAvailability
TensorRT RTXWindows · RTX 30/40/50Fastest tierAuto-selected when supported
CUDAWindows / Linux · NVIDIAFastNon-RTX NVIDIA cards
CoreMLmacOS · Apple SiliconFastNeural Engine + GPU
DirectMLWindows · any DX12 GPU2–4× realtime, model-dependentBroadest Windows GPU coverage
CPU (ONNX Runtime)All platforms0.8–1.5× realtimeAlways available

Tbl. 01  ·  Provider fallback order, fastest to slowest. Not measured throughput.

Chapter
04aLocal-first architecture

What runs where, and why.

Every stage of the pipeline runs on your machine by default. Cloud providers are something you plug in per stage, not a place your media silently ends up.

Acceleration is layered: Trackdub prefers the fastest provider your hardware supports and falls back stage-by-stage, never project-by-project.

Fig. 04a-i  ·  Data plane
Where
Stages
What leaves the machine
On device
Default
Ingest · Probe · VAD
FFmpeg-backed decode, scene split, voice-activity detection. Runs entirely on your CPU.
Nothing leaves the machine.
On device
Default
Transcribe · Diarize
ASR and speaker separation via bundled ONNX models. Accelerated by DirectML, CUDA, CoreML, or Windows ML when available; CPU otherwise.
Nothing leaves the machine.
On device
Default
Translate
Local MT model runs against the editable script. Glossary and per-speaker style are applied locally.
Nothing leaves the machine.
On device
Default
Voice · Mix · Export
TTS with per-speaker voice reference, alignment, ducking, and mux. GPU-accelerated where a provider is present; CPU fallback is always available.
Nothing leaves the machine.
Off device
Opt-in
Cloud translation · Cloud voice
A stage can be routed to a hosted provider you configure (DeepL, ElevenLabs, your own endpoint). Off by default; set per project, per stage.
Only the stage's input for that stage. Media and other stages stay local.
Off device
Off by default
Telemetry
Crash reports and anonymous usage counters. Disabled unless you turn them on in Preferences.
Stack traces and counters. No media, no transcripts.
Fig. 04a-ii  ·  Execution providers & fallback order
  1. 01
    TensorRT RTX
    Windows · RTX 30/40/50
    ASR · Diarize · TTS
    Selected automatically on supported RTX GPUs. First run compiles an engine cache per model; subsequent runs skip it.
  2. 02
    DirectML
    Windows · any DX12 GPU
    ASR · Diarize · TTS
    Works on Intel Arc, Iris Xe, AMD Radeon, and older NVIDIA cards. The broadest Windows fallback before CPU.
  3. 03
    CUDA
    Windows / Linux · NVIDIA
    ASR · Diarize · TTS
    Used when a matching CUDA runtime is present. Preferred over DirectML on non-RTX NVIDIA hardware.
  4. 04
    CoreML
    macOS · Apple Silicon
    ASR · Diarize · TTS
    Neural Engine + GPU. Selected automatically on M-series Macs.
  5. 05
    CPU (ONNX Runtime)
    All platforms
    Every stage
    Always present. If no accelerator is available — or a model isn't supported by the chosen provider — that stage falls back to CPU without failing the run.

Fallback is per-stage. A missing provider on one stage does not disable the rest of the pipeline.

Chapter
04bPrivacy & retention

Your media is yours. Full stop.

Trackdub is built local-first. That is not a feature — it is the default. The app stores project data where you tell it to, and it does not send your media, transcripts, or voice references anywhere unless you explicitly opt in.

When you do opt in, only the minimum data needed for that stage leaves your machine. Everything else stays local.

Tbl. 04  ·  Stored locally
DataWhat it isRetention
Project filesSQLite project state, manifests, and stage snapshots.Kept in the project folder you choose. Deleted when you delete the project.
Source mediaOriginal video/audio, proxies, and extracted stems.Never uploaded. You choose the folder and can wipe it at any time.
Transcripts & translationsEditable script documents, glossaries, and speaker mappings.Stored as local files. No cloud sync unless you configure it.
Voice referencesShort speaker clips used for voice cloning.Stay on disk. Never used to train a shared model.
Generated audioPer-line TTS output, mix stems, and exported deliverables.Written to your project output folder. You own and control them.
Model cacheDownloaded ONNX models and compiled engine caches.Stored in the app data directory. Can be cleared in Preferences.
Fig. 04b-i  ·  Never leaves the machine
  • Source video or audio
    Decoding, analysis, and export happen locally.
  • Transcripts and translations
    Local MT runs against your editable script by default.
  • Voice references
    Speaker clips are used only for per-project voicing.
  • Generated output
    Final mix and stems are written to your disk.
Fig. 04b-ii  ·  Opt-in only
  • Cloud translation
    Source text for the lines you route to a hosted provider.
    Off by default. Enabled per project, per stage, in Settings.
  • Cloud voice generation
    Target text and optional speaker reference for hosted TTS.
    Off by default. Enabled per project, per stage, in Settings.
  • Telemetry
    Anonymous crash reports and usage counters.
    Disabled on install. Turn on in Preferences if you want to help.
  • Update checks
    App version and OS info to the update server.
    Checks on launch unless disabled. No media or project data is sent.
Chapter
04cSystem requirements

Runs on a wide range of Windows hardware.

Trackdub is built for the machines creators already own. A discrete GPU speeds things up, but it is not required — every stage has a CPU fallback.

Specifics below are for the Windows desktop app. macOS and Linux builds have similar tiers and are documented in the release notes.

Tbl. 02  ·  Minimum and recommended specs
ComponentMinimumRecommended
OSWindows 10 22H2 (x64)Windows 11 23H2 or later
CPUx64 CPU with AVX2 (Intel 6th gen / AMD Ryzen 2000)Intel 10th gen / AMD Ryzen 5000 or newer, 8 cores+
RAM16 GB32 GB
GPUDirectX 12 capable GPU for DirectMLNVIDIA RTX 3060 / 4060 / 5060 or better
VRAM4 GB8 GB (1080p) · 12 GB+ (4K / long form)
Storage10 GB for app + bundled modelsSSD with 50 GB free for cache
OS

64-bit only. ARM64 Windows runs under emulation with CPU fallback.

CPU

Used for ingest, probe, VAD, and CPU fallback inference.

RAM

Larger projects (20 min+, 4K source, many speakers) benefit from more RAM.

GPU

TensorRT RTX requires RTX 30 series or newer. Intel Arc and AMD Radeon work via DirectML.

VRAM

ASR and diarization models are the heaviest VRAM users. TTS is lighter per line.

Storage

HDD is usable but ingest and model load times increase significantly.

Tbl. 03  ·  Acceleration notes
TensorRT RTX
Requirement
NVIDIA RTX 30 / 40 / 50 series · 8 GB+ VRAM
Speedup
Fastest on supported hardware
Caveat
First run compiles an engine cache per model. Cache is portable across projects.
DirectML
Requirement
Any DirectX 12 GPU · 4 GB+ VRAM
Speedup
2–4× realtime end-to-end on modern integrated/discrete GPUs
Caveat
Not every model is equally optimized. Falls back to CPU per-stage if a model fails.
CPU fallback
Requirement
Any AVX2-capable x64 CPU
Speedup
0.8–1.5× realtime depending on model and core count
Caveat
Always available. No GPU required to complete a project.
Chapter
05What you get

A workstation, not a wrapper around a model.

Local by default
Media, transcripts, voice references, and generated audio stay on your disk. Cloud is opt-in per project, per stage.
Deterministic runs
Same project manifest + same models = same output. Every stage records what it consumed.
Resumable jobs
Kill the app mid-run. Reopen the project. Continue from the last completed stage.
Per-line regen
Regenerate one voice line, one speaker, or one stage. Never a full-project redo for a small fix.
Editable script
Transcript and translation are real documents with a glossary, not opaque intermediates.
Voice cloning per speaker
One short reference per speaker. No shared 'AI voice' for the whole video.
Source separation
Vocal and instrumental stems are split out, kept, and ducked under dialogue automatically. Or manually, if you prefer.
Lip sync
Optional viseme-matched lip sync for on-camera speakers. Off by default, gated by license lane.
Open model manifest
Every bundled model, its license lane, and its checksum is declared in one JSON file.
CLI and SDK
The same pipeline the app runs is scriptable — for batch, CI, or on-prem automation.
Cross-platform
Windows, macOS, Linux. Same project format. Same output.
Open-core engine
Domain, application, inference, SDK, and CLI ship Apache 2.0. The desktop app and licensing layer are source-visible.
Chapter
06Compared to

Trackdub, next to how dubbing usually gets done.

TrackdubDescriptElevenLabs DubbingDIY (Whisper + TTS + DAW)
Runs locallyYesNoNoYes
Editable transcriptYesYesYes, in Dubbing StudioYes
Per-line / per-clip regenYesComposition-levelYes, in Dubbing StudioManual
Speaker-aware voicingYesYes, manual speaker→voice mapYes, clip or track voice cloneManual
Deterministic runsYesNot publishedNot publishedNo
Resumable jobsYesNot publishedNot publishedNo
Programmatic accessCLI + SDKNot publishedAPI, enterprise waitlistN/A
No account requiredYesNoNoN/A

Descript and ElevenLabs Dubbing feature sets per each vendor's public docs, checked July 2026. Feature sets change — verify current before deciding.

Chapter
07Pricing

Three ways to run it. All of them local-first.

  • Personal

    Free

    Commercial use allowed

    • Full desktop app, every pipeline stage
    • All languages and bundled models
    • CLI access included
    • Exports watermarked, 5-minute max
  • Pro

    Recommended
    $149

    One-time purchase · 2 machine activations

    • Everything in Personal
    • No watermark, no duration limit
    • Commercial use license
    • Lifetime updates within v1.x
  • Studio

    In development

    Post-launch — not sold yet

    • Batch and multi-GPU processing
    • 4K-optimized export pipeline
    • Commercial redistribution rights
    • Ships after Pro, once real

Full pricing, license terms, and FAQ →

Chapter
08Questions

Straight answers.

Not covered here? Write to hello@trackdub.com.

Data handling questions are covered in full in the privacy policy.

Does my video get uploaded anywhere?
No. Trackdub runs the whole pipeline on your machine by default. Cloud endpoints exist for teams that want them, but they're opt-in per project and per stage — never implicit.
What happens to my data if I uninstall?
Your projects, source media, and generated output live in folders you chose, so they stay where they are until you delete them. The app data directory — model cache, preferences, and logs — can be removed during uninstall or manually from %LOCALAPPDATA%\Trackdub.
Can I use it commercially?
Yes, on every tier — including Free. Free exports carry a small watermark and cap at 5 minutes; Pro removes both. Every bundled model is commercial-safe by manifest, so nothing research-only ever loads.
How is the voice cloning handled?
Each detected speaker gets one short reference clip you can review or replace. The voicing stage uses that reference — one voice per person, not one 'AI voice' for the whole video. References stay on your disk.
What if the ASR gets a word wrong?
Fix it in the transcript. The translation for that line invalidates, the voicing for that line queues for a regen, and nothing else rebuilds. Every stage declares its inputs, so edits propagate exactly as far as they need to.
Do I need a GPU?
No, but it helps. Trackdub runs on CPU, DirectML, CUDA, CoreML, or Windows ML, with per-stage fallback if a provider isn't available. Integrated graphics land in the low multiples of realtime; a discrete GPU well beyond that — exact numbers publish via DubBench ahead of launch.
Can I automate it?
Yes — the CLI ships in every tier, Free included. The same pipeline the app runs is scriptable for batch localization, CI, or an on-prem REST worker via the SDK.
Chapter
09End

Dub this in Spanish. Keep the original music. Regenerate line 42 with slower prosody. Ship it before lunch.