Repository navigation
Pipeline Orchestration
Section: Pipeline · Layered-Dependency-Rules · Home · Media-Ingest-and-Preparation
Pipeline orchestration sequences, executes, and monitors the multi-stage AI dubbing process. It lives in Trackdub.Application layer, uses Trackdub.Inference for models and Trackdub.Media for file work, and is triggered by Sdk / Cli / desktop app sessions. There is no cloud POST /api/dubs job entrypoint today; the portal Worker does not run this pipeline in PR1.
- Optional Separation — stem / dialogue separation
- VAD — speech regions
- Diarization — speaker identity
- ASR — source transcript
- Translation — target language text
- TTS — dubbed audio
- Mixing — preview / stems
- Export — final media
Stages are user-triggered. Fast media import registers a media spine only; speech stages lazily require ArtifactKind.NormalizedAudio via EnsureNormalizedAudioAsync when needed.
flowchart TD
Start[Sdk / Cli / Desktop session] --> Init[Initialization]
Init --> Audio[Audio Extraction / Normalize]
Audio --> VAD[Voice Activity Detection]
VAD --> ASR[Speech to Text]
ASR --> Trans[Translation]
Trans --> Voice[Voice Assignment]
Voice --> TTS[TTS Generation]
TTS --> Mix[Mixing and Export]
Mix --> End[Run Completed]
| Component | Responsibility |
|---|---|
TranscriptPipelineBuilder |
Orders stage handlers for transcription workflows |
TranscriptGenerationContext |
Per-run config: languages, artifact paths |
StageThroughputTracker |
Per-stage timing / throughput telemetry |
- Immutable snapshots — capture run config at start; UI mutations must not change in-flight meaning
- Artifact preservation — never overwrite usable prior artifacts on skip/fail; log exact skip reasons
- Resumability — stable stage IDs + preserved artifacts
- No fake readiness — registered ≠ downloaded ≠ ran ≠ succeeded
sequenceDiagram
participant P as PipelineRunner
participant T as StageThroughputTracker
participant S as StageHandler
P->>T: RecordStart(stageId)
activate T
T-->>P: startTime
P->>S: ExecuteAsync(context)
activate S
S-->>P: Result
deactivate S
P->>T: RecordEnd(stageId, byteCount)
T-->>P: ThroughputSummary
deactivate T
| State | Description |
|---|---|
| Provider Registered | Inference provider available |
| Model Manifest Present | Metadata and license verified |
| Prerequisites Satisfied | Upstream artifacts and hardware OK |
| Stage Ran | Execution attempted |
| Stage Produced Usable Output | Valid artifact produced |
| Stage Failed | Structured failure reason recorded |
- Media-Ingest-and-Preparation
- CLI-and-Developer-Tools
- Desktop-UI-Architecture — UI triggers only; orchestration stays in Application
- Cloud-API-and-Job-Management — portal API does not host this pipeline yet
Trackdub Engineering Wiki · Trackdub-gated · Trackdub · Contributing
Overview
Architecture
Pipeline
- Pipeline-Orchestration
- Media-Ingest-and-Preparation
- Transcription-and-VAD
- Diarization-and-Speaker-Management
- Translation-Engine
- Text-to-Speech
- Lip-Sync-and-Synthesis
- Mixing-and-Export
Desktop App
AI & Inference
- Inference-Routing-and-Planning
- ONNX-Execution-Providers
- Model-Manifests-and-Governance
- Hardware-Starter-Packs
Media & Audio
Data
Cloud & SaaS
- Cloud-API-and-Job-Management
- Web-Dashboard
- Billing-and-Quota-Management
- Webhook-Delivery-System
- Cloud-Infrastructure-Deployment
Development
Links