Skip to content

Introduction to Trackdub

tonythethompson edited this page Jul 28, 2026 · 4 revisions

Introduction to Trackdub

Section: Overview · Home · Getting-Started

Trackdub is a cross-platform, local-first AI dubbing workstation for Windows, macOS, and Linux. Built on .NET 10 and Avalonia, it runs media ingest, transcription, diarization, translation, TTS, mix, and export on the user's hardware with ONNX-backed models.

Architecture at a glance

Domain-Driven Design with a strict layered dependency model. Domain and Contracts are roots. The Avalonia shell sits above Application/Sdk and never owns inference or persistence.

graph TD
    App[App.Avalonia] --> Application
    App --> Composition
    App --> Domain
    App --> MediaPlayback[Media.Playback]
    App --> Sdk

    Cli[Trackdub.Cli] --> Sdk
    Sdk --> Composition
    Sdk --> Application

    Application --> Contracts
    Application --> Domain

    Infrastructure --> Application
    Infrastructure --> Contracts
    Infrastructure --> Domain

    Inference --> Contracts
    Inference --> Domain
    InferenceOnnx[Inference.Onnx] --> Inference

    Composition --> Application
    Composition --> Inference
    Composition --> Infrastructure
    Composition --> Media
Loading

Layer descriptions

Layer Responsibility
Trackdub.App.Avalonia Desktop UI shell
Trackdub.Domain Entities and invariants; zero external dependencies
Trackdub.Contracts DTOs and shared contracts
Trackdub.Application Pipeline orchestration, stage planning, execution snapshots
Trackdub.Infrastructure SQLite persistence, filesystem, logging
Trackdub.Inference Model abstractions, manifests, EP selection
Trackdub.Inference.Onnx ONNX Runtime / Windows ML implementations
Trackdub.Media FFmpeg probing, extraction, mixing
Trackdub.Media.Playback libmpv / LibVLC playback backends
Trackdub.Sdk / Cli Headless automation and CLI

The dubbing pipeline

Stages are explicit, ordered, and resumable:

  1. Media ingest / normalized audio
  2. Optional speech separation
  3. VAD → Diarization → ASR
  4. Translation → TTS
  5. Preview mix → Export

Stages are user-triggered. Loading media alone does not auto-run the full pipeline.

See Pipeline-Orchestration.

Model governance

Bundled inventory: src/Trackdub.Inference/Runtime/ModelManifest/bundled-models.manifest.json (under external/Trackdub/ in the app checkout).

  • Commercial licenses only for shipping lanes
  • Unknown license = unsafe
  • Provider registered ≠ model downloaded ≠ stage ran ≠ stage succeeded

Build snapshot

git clone --recurse-submodules https://github.com/trackdubllc/Trackdub-gated.git
cd Trackdub-gated
dotnet build Trackdub.slnx -m:1

Full setup: Getting-Started. Architecture depth: Architecture-Overview · Layered-Dependency-Rules.

Clone this wiki locally