Extract → chunk → synthesize → concatenate into a single audio file.
Source: screencastgen/pipelines/audio.py
run_audio_pipeline(request, reporter, backend_factory) -> PipelineRunResultParameters:
| Param | Type | Description |
|---|---|---|
request |
AudioPipelineRequest (Pipeline Types) |
Pipeline configuration |
reporter |
PipelineReporter (Pipeline Events) |
Progress output |
backend_factory |
callable (optional) | Override for backend creation |
Returns: PipelineRunResult with exit_code, output_name, output_path
1. Create TTS backend ← TTS Registry
2. Extract and chunk ← Pipeline Common → Extractor + Text Processing
3. Validate chunks ← Pipeline Common
4. Synthesize audio chunks ← Pipeline Common → TTSBackend.synthesize()
5. Concatenate ← Concatenator (unless --no-concat)
Key fields from AudioPipelineRequest:
| Field | Type | Default | Description |
|---|---|---|---|
pdf |
str |
— | Input document path |
backend |
str |
"qwen" |
TTS backend name |
device |
str |
"auto" |
Compute device |
no_concat |
bool |
False |
Skip concatenation |
output_dir |
str |
"audio" |
Output directory |
clean |
bool |
False |
Clear previous state |
Audio Pipeline
├── Pipeline Common (extract, validate, synthesize)
├── Pipeline Events (PipelineReporter)
├── Pipeline Types (AudioPipelineRequest, PipelineRunResult)
├── Concatenator (merge audio files)
└── TTS Registry (create backend)