Cross-platform local-first AI dubbing engine, SDK, CLI, and pipeline (Apache-2.0)
0
stars
129
commits
C#
primary language
Sep 5, 2026
updated
A local-first, editorial-grade AI dubbing workstation for Windows, macOS, and Linux.
CI · Docs · Investor Brief · Apache-2.0 License
Trackdub is a cross-platform desktop application and reusable inference engine that automates the full speech dubbing pipeline: language detection, speech recognition (ASR), translation, text-to-speech (TTS), timing reconciliation, and audio export.
The product philosophy is simple: a reliable workstation where every pipeline stage produces durable artifacts, users can inspect and edit intermediate results, and the UI tells the truth about what the model actually did.
This repository is the public core of Trackdub: the engine, SDK, CLI, pipeline, inference runtime, media processing, licensing mechanisms, tooling, and tests. The proprietary desktop product lives in a separate private repository.
AI dubbing today is either a black-box cloud service that ships raw media off-device with limited editability, or a fragmented collection of Python scripts and Conda environments that require technical expertise to assemble. Neither is suitable for professional editorial workflows.
Trackdub is built for the gap between them: a local-first, stage-aware, editable dubbing workstation that keeps content on the user's machine and routes to cloud providers only with explicit consent and disclosure.
media ingest
-> audio preparation
-> optional speech/noise split or dialogue/stem separation
-> VAD
-> diarization
-> ASR
-> transcript confidence review
-> translation
-> glossary / terminology hints
-> speaker and voice assignment
-> TTS
-> timing reconciliation
-> optional audio-level lip alignment
-> preview mix
-> export
-> optional visual dubbing / generated portrait branches
The foundation (M0-M7) and the workstation spine (M8-M16) are mostly implemented in this repository: repo structure, model manifest policy, SQLite project spine, media ingest, runtime planning, transcript generation, translation, video playback, segment editing, diarization, transcript confidence, Kokoro TTS, timing reconciliation, Spleeter separation, preview mix, voice cloning, export, and hardware acceleration.
Advanced lanes (M17+) are tracked but not claimed as shipped: managed glossary analyzers, Japanese/Chinese/Arabic tokenization, visual dubbing, and generated portrait branches. The current source is the source of truth for what is actually implemented.
Trackdub operates an open-core model:
Trackdub-gated): the proprietary desktop product with the
Avalonia shell, branding, installer, signing, activation, and tier gating.api.trackdub, portal.trackdub, and trackdub.com
are reserved for server-side activation, product API, portal, and marketing site.This split enables developer adoption through the public core while the commercial product carries tiered features, activation, and support.
| Project | Description |
|---|---|
Trackdub.Domain | Pure domain models and value objects |
Trackdub.Contracts | Shared interfaces and DTOs |
Trackdub.Application | Use cases, orchestration, pipeline stages |
Trackdub.Infrastructure | Persistence (SQLite), file I/O, integrations |
Trackdub.Media | Audio/video processing (FFmpeg) |
Trackdub.Media.Playback | libmpv/LibVLC playback surface |
Trackdub.Inference | Model abstractions and pipeline stage contracts |
Trackdub.Inference.Onnx | ONNX Runtime session management and EP registration |
Trackdub.Composition | DI wiring root |
Trackdub.Sdk | Programmatic session API for integrations |
Trackdub.Cli | Headless CLI entry point |
Trackdub.Licensing | Neutral license validation mechanisms |
Trackdub.Benchmarks | Performance benchmarks |
Trackdub.Tools | Development utilities |
Trackdub.Analyzers | Roslyn analyzers |
Trackdub.DubBench | Benchmark harness and Avalonia sidecar launcher |
Trackdub.OnnxRuntime.Dnnl.Native | Native oneDNN/DNNL execution provider for ONNX Runtime |
dotnet build Trackdub.slnx -m:1
dotnet test Trackdub.slnx -m:1
Tests that require ONNX models or specific fixtures skip cleanly when dependencies are unavailable.
dotnet run --project src/Trackdub.Cli -- --help
dotnet run --project src/Trackdub.Cli -- dub --media input.mp4 --target-language es
dotnet run --project src/Trackdub.Cli -- doctor
Trackdub.Inference.slnx — Inference, Composition, benchmarks, and testsTrackdub.Sdk.slnx — SDK, CLI, and SDK testsStrict layered dependency direction. Domain depends on nothing:
Application -> Contracts, Domain, Licensing
Infrastructure -> Application, Contracts, Domain
Media -> Application, Analyzers, Contracts, Domain
Media.Playback -> Application, Domain
Inference -> Contracts, Domain
Inference.Onnx -> Inference, Contracts, Domain
Composition -> Application, Inference, Inference.Onnx, Infrastructure, Licensing, Media, Media.Playback
Sdk -> Application, Composition, Licensing
Cli -> Sdk
DubBench -> Benchmarks, Domain, Inference, Inference.Onnx
Benchmarks -> Application, Composition, Domain, Inference, Inference.Onnx, Infrastructure
Tools -> Application, Domain, Infrastructure, Media
Contracts -> Domain
Licensing -> (nothing)
Analyzers -> (nothing)
OnnxRuntime.Dnnl.Native -> (nothing)
Domain -> (nothing)
docs/audits/.dotnet format Trackdub.slnx --verify-no-changes is the lint/format gate.Only ONNX models with verified commercial licenses are supported. The bundled model
manifest (src/Trackdub.Inference/Runtime/ModelManifest/bundled-models.manifest.json)
is the single source of truth for model inventory.
See docs/index.md for the categorized documentation index (ADRs, architecture, specs, audits, operations, and more). Governance and contribution guidelines are in docs/repository-policy.md. For the investor-facing narrative, see investor-deck-brief.md.
C#
77.3%
Python
20.4%
Jupyter Notebook
1.3%
Cross-platform local-first AI dubbing engine, SDK, CLI, and pipeline (Apache-2.0)
0
stars
129
commits
C#
primary language
Sep 5, 2026
updated
A local-first, editorial-grade AI dubbing workstation for Windows, macOS, and Linux.
CI · Docs · Investor Brief · Apache-2.0 License
Trackdub is a cross-platform desktop application and reusable inference engine that automates the full speech dubbing pipeline: language detection, speech recognition (ASR), translation, text-to-speech (TTS), timing reconciliation, and audio export.
The product philosophy is simple: a reliable workstation where every pipeline stage produces durable artifacts, users can inspect and edit intermediate results, and the UI tells the truth about what the model actually did.
This repository is the public core of Trackdub: the engine, SDK, CLI, pipeline, inference runtime, media processing, licensing mechanisms, tooling, and tests. The proprietary desktop product lives in a separate private repository.
AI dubbing today is either a black-box cloud service that ships raw media off-device with limited editability, or a fragmented collection of Python scripts and Conda environments that require technical expertise to assemble. Neither is suitable for professional editorial workflows.
Trackdub is built for the gap between them: a local-first, stage-aware, editable dubbing workstation that keeps content on the user's machine and routes to cloud providers only with explicit consent and disclosure.
media ingest
-> audio preparation
-> optional speech/noise split or dialogue/stem separation
-> VAD
-> diarization
-> ASR
-> transcript confidence review
-> translation
-> glossary / terminology hints
-> speaker and voice assignment
-> TTS
-> timing reconciliation
-> optional audio-level lip alignment
-> preview mix
-> export
-> optional visual dubbing / generated portrait branches
The foundation (M0-M7) and the workstation spine (M8-M16) are mostly implemented in this repository: repo structure, model manifest policy, SQLite project spine, media ingest, runtime planning, transcript generation, translation, video playback, segment editing, diarization, transcript confidence, Kokoro TTS, timing reconciliation, Spleeter separation, preview mix, voice cloning, export, and hardware acceleration.
Advanced lanes (M17+) are tracked but not claimed as shipped: managed glossary analyzers, Japanese/Chinese/Arabic tokenization, visual dubbing, and generated portrait branches. The current source is the source of truth for what is actually implemented.
Trackdub operates an open-core model:
Trackdub-gated): the proprietary desktop product with the
Avalonia shell, branding, installer, signing, activation, and tier gating.api.trackdub, portal.trackdub, and trackdub.com
are reserved for server-side activation, product API, portal, and marketing site.This split enables developer adoption through the public core while the commercial product carries tiered features, activation, and support.
| Project | Description |
|---|---|
Trackdub.Domain | Pure domain models and value objects |
Trackdub.Contracts | Shared interfaces and DTOs |
Trackdub.Application | Use cases, orchestration, pipeline stages |
Trackdub.Infrastructure | Persistence (SQLite), file I/O, integrations |
Trackdub.Media | Audio/video processing (FFmpeg) |
Trackdub.Media.Playback | libmpv/LibVLC playback surface |
Trackdub.Inference | Model abstractions and pipeline stage contracts |
Trackdub.Inference.Onnx | ONNX Runtime session management and EP registration |
Trackdub.Composition | DI wiring root |
Trackdub.Sdk | Programmatic session API for integrations |
Trackdub.Cli | Headless CLI entry point |
Trackdub.Licensing | Neutral license validation mechanisms |
Trackdub.Benchmarks | Performance benchmarks |
Trackdub.Tools | Development utilities |
Trackdub.Analyzers | Roslyn analyzers |
Trackdub.DubBench | Benchmark harness and Avalonia sidecar launcher |
Trackdub.OnnxRuntime.Dnnl.Native | Native oneDNN/DNNL execution provider for ONNX Runtime |
dotnet build Trackdub.slnx -m:1
dotnet test Trackdub.slnx -m:1
Tests that require ONNX models or specific fixtures skip cleanly when dependencies are unavailable.
dotnet run --project src/Trackdub.Cli -- --help
dotnet run --project src/Trackdub.Cli -- dub --media input.mp4 --target-language es
dotnet run --project src/Trackdub.Cli -- doctor
Trackdub.Inference.slnx — Inference, Composition, benchmarks, and testsTrackdub.Sdk.slnx — SDK, CLI, and SDK testsStrict layered dependency direction. Domain depends on nothing:
Application -> Contracts, Domain, Licensing
Infrastructure -> Application, Contracts, Domain
Media -> Application, Analyzers, Contracts, Domain
Media.Playback -> Application, Domain
Inference -> Contracts, Domain
Inference.Onnx -> Inference, Contracts, Domain
Composition -> Application, Inference, Inference.Onnx, Infrastructure, Licensing, Media, Media.Playback
Sdk -> Application, Composition, Licensing
Cli -> Sdk
DubBench -> Benchmarks, Domain, Inference, Inference.Onnx
Benchmarks -> Application, Composition, Domain, Inference, Inference.Onnx, Infrastructure
Tools -> Application, Domain, Infrastructure, Media
Contracts -> Domain
Licensing -> (nothing)
Analyzers -> (nothing)
OnnxRuntime.Dnnl.Native -> (nothing)
Domain -> (nothing)
docs/audits/.dotnet format Trackdub.slnx --verify-no-changes is the lint/format gate.Only ONNX models with verified commercial licenses are supported. The bundled model
manifest (src/Trackdub.Inference/Runtime/ModelManifest/bundled-models.manifest.json)
is the single source of truth for model inventory.
See docs/index.md for the categorized documentation index (ADRs, architecture, specs, audits, operations, and more). Governance and contribution guidelines are in docs/repository-policy.md. For the investor-facing narrative, see investor-deck-brief.md.
C#
77.3%
Python
20.4%
Jupyter Notebook
1.3%